wsgi_lite fornisce un modo migliore per scrivere applicazioni WSGI e middleware.
Non sarebbe bello se la scrittura corretta middleware WSGI stata questa semplice?
>>> Da wsgi_lite importazione lite, alleggerire
>>> Def latinator (app):
...
... # Assicurarsi che `app` può essere richiamato con il protocollo Lite, anche
... # Se si tratta di uno standard WSGI 1 app:
... App = schiarire (app)
...
...lite
... Def middleware (environ):
... Stato, intestazioni, corpo = app (environ)
... Per il nome, il valore d'intestazioni:
... Se name.lower () == 'content-type' e il valore == 'text / plain':
... Pausa
... Altro:
... # Non text / plain, passare la richiesta tramite invariata
... Stato di ritorno, intestazioni, corpo
...
... # Strip content-length, se presente, altrimenti sarà sbagliato
... intestazioni = [
... (Nome, valore) per il nome, il valore nelle intestazioni
... Se name.lower ()! = 'Content-length'
...]
... Stato di ritorno, intestazioni, (piglatin (dati) per i dati nel corpo)
...
... Ritorno middleware
Utilizzando solo due decoratori, WSGI Lite consente di creare corrette e conformi middleware e applicazioni, senza bisogno di preoccuparsi di start_response, scrivere e chiudere le chiamate. E con quegli stessi due decoratori, permette anche di gestire le risorse per essere rilasciato alla fine di una richiesta, e automaticamente passare in argomenti chiave alle vostre applicazioni o middleware che si ottengono dall'ambiente WSGI (come estensioni o middleware fornito di server WSGI parametri come di richiesta o di sessione oggetti).
Per ulteriori dettagli, controllare la home page del progetto su BitBucket, e scorrere verso il basso per l'indice.
WSGI Lite è attualmente disponibile solo per Python 2.x (testato w / 2.3 fino a 2.7), ma la fonte dovrebbe essere abbastanza portatile 3.x, come la sua magia è limitato a ispezionare nomi degli argomenti funzione, e la clonazione funzioni utilizzando new.function . ()
Requisiti
- Python
I commenti non trovato