asis

Software screenshot:
asis
Software informatie:
Versie: 0.2.1
Upload datum: 20 Feb 15
Ontwikkelaar: Dan Lecocq
Licentie: Gratis
Populariteit: 17

Rating: 4.0/5 (Total Votes: 1)

asis is een lichtgewicht Python hulpprogramma voor het serveren Reéel document (met headers en inhoud) via HTTP.
Als het gaat om unit testing tools die HTTP-middelen te halen, hebben we besloten dat we zouden graag een manier om gemakkelijk vooraf bepaalde reacties te slaan, en dan hen te dienen vanaf een server in hetzelfde proces als we draaien deze tests. Geen aap patching, geen infrastructuur (zoals een caching proxy server).
Hierbij moet worden vermeld dat als u op zoek bent om verzoeken van bestaande diensten vast te leggen en dan speel ze, de videorecorder project is geschikt gemaakt voor meerdere talen en is zeer nuttig.
Wat is?
Twisted wordt geleverd met een functie genaamd als-dienst doet, geïnspireerd door Apache. Maar, wie wil er onder andere Twisted als een afhankelijkheid?
Dit is gebaseerd op de fles, en ondersteunt een aantal WSGI backends (inclusief Twisted en gevent), en is bedoeld lichtgewicht zijn. Een reéel document een waarin zowel de koppen als de inhoud van een HTTP respons worden opgeslagen:
HTTP / 1.0 200 OK
Content-Length: 137
Content-Type: text / html

& Nbsp;
& Nbsp; Basic testpagina
& Nbsp;
& Nbsp;
& Nbsp;

Hallo, ik ben een testpagina


& Nbsp;

Merk op dat dit vereist alleen nieuwe regels voor de headers - de harde returns worden automatisch toegevoegd voor het gemak.
installatie
Makkelijk:
sudo pip asis installeren
Of voor degenen die liever van de bron:
git clone https://github.com/seomoz/asis
cd asis && sudo python setup.py installeren
Gebruik
U kunt een asis server draaien relatief eenvoudig:
import asis
# Serveer bestanden die zijn opgeslagen in 'foo /' op poort 8080
server = asis.Server ('foo', 8080)
server.run ()
...
server.stop ()
Als alternatief kan het worden gebruikt in een context-manager mode:
import asis
invoerverzoeken
met asis.Server ('foo') als server:
& Nbsp; requests.get ('http: // localhost: 8080 / foo / bar.asis')
Er is ook een command-line utility opgenomen voor het gemak voor het serveren asis bestanden als een standalone server, die is vooral handig voor het zien van deze bestanden via krul of de browser:
# Serveer bestanden uit 'foo /' op poort 8080
asis-server foo --port 8080
# Zelfde, met behulp van gevent en het zijn breedsprakige
asis-server foo --port 8080 --server gevent --verbose
Toeters en bellen
Er zijn maar weinig functies die u nodig heeft om te profiteren van:
Content-Encoding
Als u leveren de-Content Encoding header als ofwel gzip of leeg te laten lopen, worden de vlakte inhoud die is opgeslagen in het bestand gecomprimeerd en verzonden over de draad op die manier. In die gevallen kunt u Content-Length laten zoals 0, en de ware inhoud lengte (na compressie) zal in de plaats worden gestuurd. Bijvoorbeeld, wordt de volgende verzonden als-gzip gecomprimeerde inhoud correct naar de browser:
HTTP / 1.0 200 OK
Content-Length: 0
Content-Type: text / plain
Content-Encoding: gzip
Hallo wereld!
Charset
Als u onder andere een karakterset in je header Content-Type, dan is uw inhoud zal worden geïnterpreteerd als UTF-8 op schijf, en vervolgens gecodeerd in de verstrekte codering. Het idee is om het bewerkingsproces te helpen, zodat je niet hoeft te expliciet sla uw voorbeelden in hun aangegeven tekenset. Zoals wijzigingen in Content-Encoding, wordt de Content-Length header herberekend juist te zijn, zodra de transformatie compleet.
Modes
Standaard wordt de server gestart met de gevent server, en het is begonnen in een achtergrond groene draad, en het zou klaar om te verzoeken dienen zo spoedig run () keert terug naar zijn.
Als alternatief kan de server worden gestart in twee andere modi, vork en blok. Als vork, dan zal de server draaien in een apart proces, en het werkt nog steeds als zowel een context manager en na het aanroepen run (). Als blok is geselecteerd, dan loopt in een blokkerende manier. Bijvoorbeeld:
# Voer het uit in een apart proces
met asis.Server ('foo', port = 8080, mode = 'fork'):
& Nbsp; # Maak een aantal verzoeken
& Nbsp; ...
Voorbeelden en Tests
Inbegrepen in hier zijn een aantal voorbeelden van as-is-documenten, en test.py kan direct worden uitgevoerd om te controleren of ze correct worden overgedragen:
./test.py
Het biedt ook een voorbeeld van hoe je het zou kunnen nemen in uw unit tests.
Bijdragen
. Vragen, opmerkingen, ideeën altijd welkom

Eisen

  • Python

Vergelijkbare software

shc
shc

3 Jun 15

crosstool-NG
crosstool-NG

20 Feb 15

microterm
microterm

20 Feb 15

Andere software van ontwikkelaar Dan Lecocq

reppy
reppy

11 May 15

aws-trade-in
aws-trade-in

20 Feb 15

Reacties op asis

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!