code: def handle(self, env, start_response):
          
          try:
              req = Request(env)
              if self.auth_prefix:
                  req.path_info_pop()
              req.bytes_transferred = '-'
              req.client_disconnect = False
              if 'x-storage-token' in req.headers and \
                      'x-auth-token' not in req.headers:
                  req.headers['x-auth-token'] = req.headers['x-storage-token']
              if 'eventlet.posthooks' in env:
                  env['eventlet.posthooks'].append(
                      (self.posthooklogger, (req,), {}))
                  return self.handle_request(req)(env, start_response)
              else:
                  # Lack of posthook support means that we have to log on the
                  # start of the response, rather than after all the data has
                  # been sent. This prevents logging client disconnects
                  # differently than full transmissions.
                  response = self.handle_request(req)(env, start_response)
                  self.posthooklogger(env, req)
                  return response
          except (Exception, TimeoutError):
              print("EXCEPTION IN handle: %s: %s" % (format_exc(), env))
              start_response('500 Server Error',
                             [('Content-Type', 'text/plain')])
              return ['Internal server error.\n']
docs: WSGI entry point for auth requests (ones that match the
          self.auth_prefix).
          Wraps env in swob.Request object and passes it down.
  
          :param env: WSGI environment dictionary
          :param start_response: WSGI callable