asis

Skjermbilde programvare:
asis
Prog.varedetaljer:
Versjon: 0.2.1
Last opp dato: 20 Feb 15
Utvikler: Dan Lecocq
Lisens: Gratis
Popularitet: 90

Rating: 4.0/5 (Total Votes: 1)

asis er en lett Python verktøy for servering As-Is dokument (som inneholder overskrifter og innhold) over HTTP.
Når det gjelder enhetstestverktøy som henter HTTP ressurser, vi besluttet vi ønsker å ha en enkel måte å lagre forhåndsbestemt svar, og deretter tjene dem fra en server i samme prosess som vi kjører disse testene. Ingen ape patching, ingen infrastruktur (som en caching proxy-server).
Det bør nevnes at hvis du er ute etter å fange opp forespørsler fra eksisterende tjenester og deretter spille dem, har vcr prosjektet blitt oversatt til flere språk, og er svært nyttig.
Hva er?
Twisted kommer med en funksjon som kalles as-tjener, inspirert av Apache. Men, som ønsker å inkludere Twisted som en avhengighet?
Dette er basert på flaske, og dermed støtter en rekke WSGI backends (inkludert Twisted og gevent), og er ment å være lett. En som-er-dokument er en der både overskrifter og innhold for en HTTP-svar lagres:
HTTP / 1.0 200 OK
Content-Length: 137
Content-Type: text / html

& Nbsp;
& Nbsp; Grunnleggende testside
& Nbsp;
& Nbsp;
& Nbsp;

Hei, jeg er en testside


& Nbsp;

Merk at dette krever bare linjeskift for overskriftene - de vognreturer legges automatisk for bekvemmelighet.
Installasjon
Easy peasy:
sudo PIP installere asis
Eller for de som foretrekker fra kilden:
git clone https://github.com/seomoz/asis
cd asis && sudo python setup.py installere
Bruk
Du kan kjøre en asis tjener relativt lett:
import asis
# Serve filer som er lagret i "foo / 'på port 8080
server = asis.Server ('foo', 8080)
server.run ()
...
server.stop ()
Alternativt, kan den brukes i en kontekst-lederen mote:
import asis
import forespørsler
med asis.Server ('foo') som server:
& Nbsp; requests.get ('http: // localhost: 8080 / foo / bar.asis')
Det er også et kommandolinjeverktøy inkludert for din bekvemmelighet for servering AsIs filer som en frittstående server, noe som er spesielt nyttig for å se disse filer gjennom curl eller leseren:
# Serve filer ut av 'foo /' på port 8080
Asis-server foo --port 8080
# Samme, ved hjelp gevent og være ordrik
Asis-server foo --port 8080 --server gevent --verbose
bjeller og fløyter
Det er få funksjoner du trenger for å dra nytte av:
Content-Encoding
Hvis du forsyne Content-Encoding header som enten gzip eller deflatere, er de klare innholdet er lagret i filen komprimert og sendt over ledningen på den måten. I slike tilfeller kan du la Content-Length som 0, og den egentlige innhold lengde (etter komprimering) vil bli sendt på sin plass. For eksempel blir følgende sendes som gzip-komprimert innhold på riktig måte til leseren:
HTTP / 1.0 200 OK
Content-Length: 0
Content-Type: text / plain
Content-Encoding: gzip
Hei verden!
Charset
Hvis du inkluderer en charset i Content-Type header, så innholdet vil bli tolket som utf-8 på disk, og deretter kodet i den medfølgende koding. Ideen er å hjelpe redigeringsprosessen, slik at du ikke trenger å eksplisitt lagre eksempler i deres erklærte tegnsett. Som endringer i Content-Encoding, er Content-Length header omregnet å være korrekt når forvandlingen er fullført.
Modes
Som standard er serveren startes med gevent server, og det er startet i en bakgrunn grønn tråd, og det skal være klar til å betjene henvendelser så snart løp () returnerer.
Alternativt kan serveren startes i to andre moduser, gaffel og blokk. Hvis gaffel, så vil den kjøre serveren i en egen prosess, og det fortsatt fungerer som både en kontekst manager og etter ringer run (). Hvis blokken blir valgt, så det går i en blokkerende måte. For eksempel:
# Kjør den i en egen prosess
med asis.Server ('foo', port = 8080, mode = 'gaffel'):
& Nbsp; # Lag noen forespørsler
& Nbsp; ...
Eksempler og tester
Inkludert her er en rekke eksempler på as-er dokumenter, og test.py kan kjøres direkte for å kontrollere at de blir overført på riktig måte:
./test.py
Det gir også et eksempel på hvordan du kan inkludere det i enhet tester.
Bidra
. Spørsmål, kommentarer, ideer alltid velkommen

Krav :

  • Python

Lignende programvare

Methabot
Methabot

3 Jun 15

Yad
Yad

27 Sep 15

CrossFTP
CrossFTP

17 Feb 15

Webshare
Webshare

3 Jun 15

Annen programvare fra utvikleren Dan Lecocq

aws-trade-in
aws-trade-in

20 Feb 15

reppy
reppy

11 May 15

Kommentarer til asis

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!