asis

Software skärmdump:
asis
Mjukvaruinformation:
Version: 0.2.1
Ladda upp dagen: 20 Feb 15
Utvecklare: Dan Lecocq
Licens: Gratis
Popularitet: 17

Rating: 4.0/5 (Total Votes: 1)

asis är en lätt Python verktyg för servering As-Is-dokument (som innehåller rubriker och innehåll) via HTTP.
När det kommer till enhetstestverktyg som hämtar HTTP resurser, vi bestämde att vi skulle vilja ha ett sätt att enkelt lagra förutbestämda svar, och sedan tjäna dem från en server i samma process som vi kör dessa tester. Ingen apa patchning, ingen infrastruktur (som en caching proxy-server).
Det bör nämnas att om du är ute efter att fånga förfrågningar från befintliga tjänster och sedan spela upp dem, har vcr projektet portats till flera språk och är mycket användbart.
Vad är?
Twisted kommer med en funktion som kallas som-tjänar, inspirerad av Apache. Men, vem vill inkluderar Twisted som ett beroende?
Detta baseras på flaskan, och således stöder ett antal olika WSGI backends (inklusive Twisted och gevent), och är tänkt att vara lätta. En som det är dokument är en där både rubriker och innehåll för en HTTP-svar lagras:
HTTP / 1,0 200 OK
Content-Length: 137
Content-Type: text / html

& Nbsp;
& Nbsp; Grundläggande Testsida
& Nbsp;
& Nbsp;
& Nbsp;

Hej, jag är en testsida


& Nbsp;

Observera att detta kräver endast radbrytningar för rubrikerna - de vagnreturer läggs automatiskt för bekvämlighet.
Installation
Lätt som en plätt:
sudo PiP installera asis
Eller för dem som föredrar från källan:
git clone https://github.com/seomoz/asis
CD asis && sudo Python setup.py installera
Användning
Du kan köra en asis server relativt enkelt:
import asis
# Servera filer som lagras i "foo / 'på port 8080
server = asis.Server ('foo', 8080)
server.run ()
...
server.stop ()
Alternativt kan den användas i ett sammanhang-manager mode:
import asis
importbegär
med asis.Server ("foo") som server:
& Nbsp; requests.get ('http: // localhost: 8080 / foo / bar.asis')
Det finns också ett kommandoradsverktyg ingår för bekvämlighet för servering asis filer som en fristående server, vilket är särskilt användbart för att se dessa filer genom curl eller webbläsaren:
# Servera filer ur "foo / 'på port 8080
asis-server foo --port 8080
# Same, med användning gevent och vara mångordig
asis-server foo --port 8080 --server gevent --verbose
Bells och Whistles
Det finns några funktioner som du kan behöva utnyttja:
Content-Encoding
Om du levererar Content-Encoding header antingen gzip eller tömma, är slätten innehållet som lagras i filen komprimeras och skickas över tråden på det sättet. I dessa fall kan du lämna Content-Length som 0, och det faktiska innehållet längden (efter kompression) kommer att skickas i dess ställe. Till exempel får följande skickas som gzip-komprimerad innehåll korrekt till webbläsaren:
HTTP / 1,0 200 OK
Content-Length: 0
Content-Type: text / plain
Content-Encoding: gzip
Hej världen!
Teckenuppsättning
Om du inkluderar en charset i Content-Type, sedan ditt innehåll kommer att tolkas som utf-8 på disk, och sedan kodas i den medföljande kodning. Tanken är att hjälpa redigeringen så att du inte behöver explicit spara dina exempel i deras deklarerade teckenuppsättning. Liksom ändringar Content-Encoding är Content-Length header omräknats vara korrekt när omvandlingen är klar.
Lägen
Som standard är servern igång med gevent servern, och det har börjat i en bakgrund grön tråd, och det ska vara redo att tjäna förfrågningar så fort körning () avkastning.
Alternativt kan servern startas i två andra lägen, gaffel och block. Om gaffel, så kommer det att köra servern i en separat process, och det fortfarande fungerar som både ett sammanhang chef och efter ringer run (). Om blocket är vald, då det körs i en blockerande sätt. Till exempel:
# Kör den i en separat process
med asis.Server ("foo", port = 8080, mode = "gaffel"):
& Nbsp; # Gör några förfrågningar
& Nbsp; ...
Exempel och Tester
Ingår i här finns ett antal exempel på som den är handlingar, och test.py kan köras direkt för att verifiera att de överförs korrekt:
./test.py
Det ger också ett exempel på hur du kan införliva det i dina enhetstester.
Bidragande
. Frågor, kommentarer, idéer välkomnar alltid

Krav :

  • Python

Liknande mjukvara

PD-ksh
PD-ksh

3 Jun 15

MetaFTPD
MetaFTPD

20 Feb 15

Eter
Eter

11 May 15

Sh To Bash
Sh To Bash

20 Feb 15

Annan programvara för utvecklare Dan Lecocq

aws-trade-in
aws-trade-in

20 Feb 15

reppy
reppy

11 May 15

Kommentarer till asis

Kommentarer hittades inte
Kommentar
Slå på bilder!