Могу ли я переместить beaker.SessionMiddleware для обработки метода как-то?
Это немного уродливо, что многие строки кода попадают в "__main__"
, Может кто-нибудь дать мне совет, как перевести SessionMiddleware в метод handle? Я должен заметить, что я использую сессию в CoreXmlParser. Заранее спасибо!
def handle(environ, start_response):
req = webob.Request(environ)
c = CoreXmlParser(req)
resp = webob.Response(body=c(), charset = 'utf-8', status='200 OK', \
request=req, content_type='text/xml')
resp(environ, start_response)
return resp.app_iter
if __name__ == '__main__':
#parse config file for session options
app = SessionMiddleware(handle, some_session_opts_here)
from flup.server.fcgi import WSGIServer
WSGIServer(app).run()
1 ответ
Решение
Я не уверен, что понимаю, почему вы пытаетесь переместить только одну линию. Если вы хотите уменьшить количество вещей в "__main__
"почему бы просто не переместить все это"#parse config file
"вещи в отдельную функцию?
def handle(environ, start_response):
# same as before
def create_app(config_file):
#parse config file for session options
return SessionMiddleWare(handle, some_session_opts_here)
if __name__ == '__main__':
app = create_app(config_file)
from flup.server.fcgi import WSGIServer
WSGIServer(app).run()