Nella piramide, usando il becher per le sessioni, come posso renderlo in modo che alcune risposte non includano i cookie?
Attualmente se arricchisco qualsiasi URL sulla mia app, tornerò qualcosa del tipo:
HTTP/1.1 200 OK
Server: nginx/1.2.6
Date: Thu, 07 Nov 2013 02:14:45 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 776
Connection: keep-alive
Set-Cookie: beaker.session.id=0a6d945c09884ca29d73bc4ff4d09ff0; expires=Thu, 07-Nov-2013 03:14:45 GMT; httponly; Path=/; secure
Non ho bisogno che quel cookie sia impostato con tutte le richieste. Ad esempio, vorrei rimuoverlo da richieste che hanno la "API" del sottodominio. Ho provato a cambiare:
def main(global_config, **settings):
session_factory = session_factory_from_settings(settings)
config = Configurator(settings=settings, root_factory=get_root)
config.set_session_factory(session_factory)
return config.make_wsgi_app()
a:
def main(global_config, **settings):
session_factory = session_factory_from_settings(settings)
config = Configurator(settings=settings, root_factory=get_root)
#config.set_session_factory(session_factory)
return MethodOverride(config, session_factory)
class MethodOverride(object):
def __init__(self, config, session_factory):
import copy
self.config = copy.deepcopy(config)
config.set_session_factory(session_factory)
self.application = config.make_wsgi_app()
def __call__(self, environ, start_response):
if "api" == environ['HTTP_HOST'].split('.')[0]:
self.application = self.config.make_wsgi_app()
Che pensavo avrebbe fatto in modo che la fabbrica di sessioni non fosse impostata in quei casi e quindi nessun cookie. Non capisco cosa stia succedendo abbastanza bene con il middleware. Starei anche bene per capire un modo per renderlo così che gli oggetti di risposta che hanno un mimetype "Application/JSON" non includono quel cookie. Qualsiasi aiuto sarebbe molto apprezzato.