asis

Software screenshot:
asis
Software detaljer:
Version: 0.2.1
Upload dato: 20 Feb 15
Udvikler: Dan Lecocq
Licens: Gratis
Popularitet: 90

Rating: 4.0/5 (Total Votes: 1)

asis er en letvægts Python hjælpeprogram til servering As-Is-dokument (som indeholder overskrifter og indhold) over HTTP.
Når det kommer til enhed testværktøjer, der hente HTTP ressourcer, besluttede vi, vi gerne vil have en let måde at opbevare forudbestemte svar, og derefter tjene dem fra en server i samme proces, som vi kører disse tests. Ingen abe patching, ingen infrastruktur (som en caching proxy-server).
Det skal nævnes, at hvis du søger at indfange anmodninger fra eksisterende tjenester og derefter afspille dem, har VCR-projektet blevet porteret til flere sprog og er meget nyttigt.
Hvad er?
Twisted kommer med en funktion kaldet som-afsoner, inspireret af Apache. Men, der ønsker at optage Twisted som en afhængighed?
Dette er baseret på flaske, og dermed understøtter en række WSGI backends (herunder Twisted og gevent), og er beregnet til at være let. En, som de er, er et, hvor både overskrifter og indhold til en HTTP-svar gemmes:
HTTP / 1.0 200 OK
Content-Length: 137
Content-Type: text / html

& Nbsp;
& Nbsp; Basic testside
& Nbsp;
& Nbsp;
& Nbsp;

Hej, jeg er en testside


& Nbsp;

Bemærk at dette kun kræver nye linjer for headers - de vognretur tilføjes automatisk for bekvemmelighed.
Installation
Nem peasy:
sudo pip installere ASIS
Eller for dem, der foretrækker fra kilde:
git klon https://github.com/seomoz/asis
cd ASIS && sudo python setup.py installere
Anvendelse
Du kan køre en asis server relativt let:
import ASIS
# Serveres filer gemt i 'foo / "på port 8080
server = asis.Server ("foo", 8080)
server.run ()
...
server.stop ()
Alternativt kan det anvendes i en sammenhæng-leder mode:
import ASIS
anmodninger import-
med asis.Server ('foo') som server:
& Nbsp; requests.get ("http: // localhost: 8080 / foo / bar.asis ')
Der er også en kommando-linje værktøj inkluderet for bekvemmelighed for servering Asis filer som standalone server, som er især nyttig for at se disse filer via krøller eller browseren:
# Serveres filer ud af 'foo /' på port 8080
asis-server foo --port 8080
# Samme, ved hjælp gevent og bliver verbose
ASIS-server foo --port 8080 --server gevent --verbose
klokker og fløjter
Der er få funktioner, du kan få brug for at drage fordel af:
Content-Encoding
Hvis du leverer Content-Encoding header enten gzip eller punktere, er almindeligt indhold lagret i filen komprimeret og sendt over wiren på den måde. I disse tilfælde kan du lade Content-Length som 0, og det sande indhold længde (efter komprimering) vil blive sendt i stedet. For eksempel bliver følgende sendt som gzip-komprimeret indhold korrekt til browseren:
HTTP / 1.0 200 OK
Content-længde: 0
Content-Type: text / plain
Content-Encoding: gzip
Hej Verden!
Tegnsæt
Hvis du inkluderer en charset i din Content-Type header, så dit indhold vil blive fortolket som utf-8 på disken, og derefter kodet i den medfølgende kodning. Idéen er at hjælpe redigeringsprocessen, så du ikke behøver at eksplicit gemme dine eksempler i deres erklærede tegnsæt. Ligesom ændringer Content-Encoding er Content-Length headeren omregnet at være korrekt, når omdannelsen er færdig.
Modes
Som standard er serveren startes med gevent serveren, og det er startet i en baggrund grønne tråd, og det formodes at være klar til at betjene anmodninger, så snart run () returnerer.
Alternativt kan serveren startes i to andre modes, gaffel og blok. Hvis gaffel, så vil det køre serveren i en separat proces, og det virker stadig som både en kontekst manager og efter kald run (). Hvis der vælges blok, så det kører i en blokerende måde. For eksempel:
# Kør det i en separat proces
med asis.Server ("foo", havn = 8080, mode = "gaffel"):
& Nbsp; # Lav nogle anmodninger
& Nbsp; ...
Eksempler og Tests
Inkluderet i her er en række eksempler på, som de er dokumenter, og test.py kan køres direkte at kontrollere, at de overføres korrekt:
./test.py
Det giver også et eksempel på, hvordan du kan indarbejde det i din unit test.
Bidrag
. Spørgsmål, kommentarer, ideer altid velkommen

Krav :

  • Python

Lignende software

shc
shc

3 Jun 15

Aria
Aria

3 Jun 15

ConMan
ConMan

11 May 15

Andre software developer Dan Lecocq

reppy
reppy

11 May 15

aws-trade-in
aws-trade-in

20 Feb 15

Kommentarer til asis

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!