Permissionkit
Een zeer eenvoudig raamwerk voor het maken van toestemmingsobjecten en gebruik ze in autorisatiecontroles ...
txrestapiHet maken van de oprichting van rust-API-diensten in gedraaid | |
Download nu |
txrestapi Rangschikking & Samenvatting
Advertentie
txrestapi Tags
txrestapi Beschrijving
Vermindering van de creatie van rust-API-diensten in gedraaid TxRestapi is een bibliotheek die het gemakkelijker maakt om gedraaide rust-API-services te maken. Normaal gesproken zou men resource subclasses maken die elk segment van een pad definiëren; Dit is het cubeersome om te implementeren en resulteert in de output die niet erg leesbaar is. TXRESTAPI biedt een apireSource-klasse waardoor complexe kaart van het pad naar callback (A LA DJANGO) met een leesbare decorateur.basic URL Callback-registratieFIRST, Laten we een blote API-service creëren: >>> van txrestapi.resource Import Apiresource >>> API = APIRESOURCE ( ) En een webserver om het te dienen: >>> van twisted.web.server import site >>> van twisted.Internet importreactor >>> site = site (API, timeout = geen) en een functie om het gemakkelijk voor te doen VS om aanvragen te doen (alleen voor Doctest-doeleinden; normaal zou je natuurlijk reactor gebruiken.listentcp (site, 8080)): >>> van twisted.web.server importverzoek >>> Klasse FakeChannel (Object): ... Transport = Geen >>> DEF makeerequest (methode, pad): ... req = aanvraag (FakeChannel (), geen) ... req.Prepath = req.postpath = Geen ... req.method = methode; req.path = pad ... resource = site.getchildwithdefault (pad, req) ... Retour Resource.Render (req) We kunnen nu callbacks registreren voor paden waar we om geven. We kunnen verschillende callbacks bieden voor verschillende methoden; Ze moeten aanvragen als het eerste argument accepteren: >>> DEF GET_CALLBACK (verzoek): retourneren 'terugbellen ">>> API.REGISTER (' GET ',' ^ / PAD / TO / METHODE ', GET_CALLBACK) >>> DEF Post_Callback (aanvraag): Return 'Post Callback' >>> API.REGISTER ('Post', '^ / pad / naar / methode', post_callback), wanneer we bellen, wordt het verzoek naar de juiste callback gebeld: >>> Print MakeRequest ('Get', '/ Path / To / Method') Krijg terugbellen >>> Print MakeRequest ('Post', '/ Pad / To / Method') Post Callbackwe kunnen meerdere callbacks voor verschillende verzoeken registreren; De eerste die overeenkomt met wint: >>> Def standaard_callback (aanvraag): ... retour 'standaard callback' >>> api.register ('Get', '^ /. * $', standaard_callback) # komt overeen met alles >> > Print MakeRequest ('Get', '/ Path / To / Method') Krijg terugbellen >>> Print MakeEQUEST ('GET', '/ PAD / TO / VERSCHILLEND / METHODE') Standaard callbackour Standaard callback, maar ook overeenkomt met Krijg verzoeken. Voor een echte standaardcallback kunnen we callbacks voor elke methode afzonderlijk registreren, of we kunnen ALL gebruiken: >>> API.REGISTER ('ALL', '^ /. * $', Standaard_callback) >>> Print MakeEQUEST (' Put ',' / Path / To / Method ') Standaard terugbellen >>> Print MakeRequest (' Verwijderen ',' / Pad / To / Method ') Standaard terugbellen >>> Print MakeEQUEQUEST (' GET ',' / PAD / NAAR / Methode ') Krijg callbacklet's Unregister Alle verwijzingen naar de standaardcallback, zodat het niet interfereert met latere tests (standaard callbacks moeten natuurlijk altijd worden geregistreerd, dus ze worden niet gebeld voor andere callbacks): >>> API.UNREGISTER (Callback = Default_Callback) URL Argumentsince Callbacks accepteren verzoek, ze hebben toegang tot postgegevens of queryargumenten, maar we kunnen ook argumenten uit de URL trekken met behulp van benoemde groepen in de reguliere expressie (vergelijkbaar met django). Deze zullen worden doorgegeven in de callback als trefwoord Argumenten: >>> DEF GET_INFO (verzoek, ID): ... RETURN 'INFORMATIE VOOR ID% S'% ID >>> API.REGISTER ('GET', '/ (? P
txrestapi Gerelateerde software
Een zeer eenvoudig raamwerk voor het maken van toestemmingsobjecten en gebruik ze in autorisatiecontroles ...
50
Asset Management voor kolf, om CSS- en JavaScript-bestanden te comprimeren en samen te voegen ...
170
Een interface voor het verzenden van echte (op papier gebaseerde) letters via API (PIXELLETTER) ...
148
Over ons