asis Rangschikking & Samenvatting
- Naam uitgever:
- Dan Lecocq
- Uitgever website:
- http://github.com/seomoz/
asis Tags
asis Beschrijving
ASIS is een lichtgewicht Python-hulpprogramma voor het serveren van AS-is-document (met headers en inhoud) via http.Wanneer het gaat om eenheidstestgereedschappen die HTTP-bronnen ophalen, hebben we besloten dat we een manier willen hebben om vooraf bepaalde reacties te behalen , en dien ze dan van een server in hetzelfde proces als we deze tests uitvoeren. Geen apenpatchen, geen infrastructuur (zoals een proxy-server van een cache-proxy). Het moet worden vermeld dat als u op zoek bent naar aanvragen van bestaande services en vervolgens opnieuw afspeelt, het VCR-project is geporteerd naar verschillende talen en is erg handig Is? Twisted wordt geleverd met een functie die AS-is-serveert, geïnspireerd door Apache. Maar wie wil gedraaid als een afhankelijkheid opnemen? Dit is gebaseerd op fles, en ondersteunt dus een aantal WSGI-backds (inclusief gedraaide en gevent), en is bedoeld als lichtgewicht. Een AS-is-document is er een waarin zowel de headers als de inhoud voor een HTTP-reactie worden opgeslagen: HTTP / 1.0200 OKCONTENT-LENGTE: 137CONTENT-Type: Tekst / HTML BASISTESTPAGINA Hallo, ik ben een testpagina
Merk op dat dit alleen newlines voor de headers vereist - de koetsrendementen worden automatisch toegevoegd Voor gemak.Installationy mepte Peasy: Sudo Pip Install Asisor voor diegenen die de voorkeur geven aan bron: git clone https://github.com/seomoz/asiscd Asis sudo python setup.py installusageyou kan relatief eenvoudig een ASIS-server uitvoeren: importeren ASIS # Serveer bestanden Opgeslagen in 'foo /' op poort 8080server = asis.server ('foo', 8080) server.run () ... server.stop () alternatief kan het worden gebruikt in een context-manager fashion: import asisimport verzoekschriftenswith ASIS .Server ('foo') als server: aanvragen.get ('http: // localhost: 8080 / foo / bar.asis') Er is ook een opdrachtregelhulpprogramma voor het gemak voor het dienen van ASIS-bestanden als een stand-alone server, WH Ich is vooral nuttig voor het zien van deze bestanden via krul of de browser: # Serveer bestanden uit 'foo /' op poort 8080Asis-server foo --port 8080 # hetzelfde, met behulp van Gevent en Verboseasis-Server foo --port 8080 - Server GEVENT --Verbosebells en whistlesthere zijn weinig functies die u mogelijk moet profiteren van: Content-CoderingIF U levert de contentcoderingskop als gzip of deflate, de duidelijke inhoud die in het bestand is opgeslagen, worden op die manier gecomprimeerd en op die manier wordt gecompt . In die gevallen kunt u inhoudslengte achterlaten als 0, en de ware inhoudslengte (na compressie) zal op zijn plaats worden verzonden. Bijvoorbeeld, het volgende wordt bijvoorbeeld als GZIP-gecomprimeerde inhoud verzonden naar de browser: HTTP / 1.0200 OKCONTENT-LENGTE: 0CONTENT-Type: Tekst / Plaincontent-Codering: Gziphello World! CHARSETIF U neemt een chareset op in uw header van inhoudstype, Dan wordt uw inhoud geïnterpreteerd als UTF-8 op schijf en vervolgens gecodeerd in de verstrekte codering. Het idee is om het bewerkingsproces te helpen, zodat u uw voorbeelden niet expliciet hoeft op te slaan in hun aangegeven tekenset. Net als wijzigingen in inhoudscodering, wordt de koptekst van de content-lengt opnieuw gecorrigeerd zodra de transformatie voltooid is ,.Modesby-standaard, de server wordt gestart met de Gevent-server, en het is begonnen op een achtergrondgroene draad en het verondersteld klaar te zijn Om aanvragen te dienen zodra het wordt uitgevoerd () returns.alternatief, kan de server worden gestart in twee andere modi, vork en blok. Als vork, dan zal het de server in een afzonderlijk proces uitvoeren en werkt het nog steeds als zowel een contextbeheerder als na het runnen (). Als blok is geselecteerd, loopt het op een blokkerende manier. Bijvoorbeeld: # Voer het in een afzonderlijk proces met ASIS.Server ('foo', poort = 8080, modus = 'vork'): # Maak enkele verzoeken ... Voorbeelden en testsInclusief hierin zijn een aantal voorbeelden van as-is Documenten en test.py kunnen rechtstreeks worden uitgevoerd om te controleren of deze correct worden overgedragen :./ Test.pyit biedt ook een voorbeeld van hoe u het in uw eenheidsproeven kunt opnemen. ContributingingingQuestions, opmerkingen, ideeën altijd welkom. PRODUCTION'S HOME
asis Gerelateerde software