asis

Screenshot der Software:
asis
Softwarebeschreibung:
Version: 0.2.1
Upload-Datum: 20 Feb 15
Entwickler: Dan Lecocq
Lizenz: Frei
Popularität: 17

Rating: 4.0/5 (Total Votes: 1)

asis ist ein leichtes Python-Dienstprogramm für die Bedienung Ist-Dokument (mit Header und Inhalte) über HTTP.
Wenn es um Unit-Test-Tools, die HTTP-Ressourcen zu holen kommt, haben wir uns entschieden möchten wir einen Weg finden, leicht zu speichern vorgegebenen Antworten, und dann servieren sie von einem Server im selben Prozess wie wir laufen diese Tests sind. Kein Affe Patchen, keine Infrastruktur (wie ein Caching-Proxy-Server).
Es sollte erwähnt werden, dass, wenn Sie schauen, um Anfragen von bestehenden Dienstleistungen zu erfassen und dann spielen Sie sie, hat die Videorekorder-Projekt auf mehreren Sprachen portiert und ist sehr nützlich.
Was ist?
Twisted kommt mit einer Funktion als-verbüßt ​​genannt, inspiriert von Apache. Aber wer will schon als Abhängigkeit Verdrehte gehören?
Dies wird auf der Flasche sind, wodurch unterstützt eine Reihe von WSGI Backend (einschließlich verdreht und gevent) und soll leicht sein. Ein Ist-Dokument ist eines, bei dem sowohl der Kopf- und der Inhalt für eine HTTP-Antwort gespeichert sind:
HTTP / 1.0 200 OK
Content-Length: 137
Content-Type: text / html

& Nbsp;
& Nbsp; Basic Test Seite
& Nbsp;
& Nbsp;
& Nbsp;

Hallo, bin ich eine Testseite


& Nbsp;

Beachten Sie, dass dies nur neue Zeilen für die Kopfzeilen erfordert - die Zeilenumbrüche werden automatisch zur Erleichterung aufgenommen.
Installation
Kinderleicht:
sudo pip asis installieren
Oder für diejenigen, die von der Quelle bevorzugen:
git clone https://github.com/seomoz/asis
cd asis && sudo python setup.py install
Verwendung
Sie können einen asis Server relativ einfach ausführen:
Import asis
# Serve Dateien gespeichert 'foo /' auf Port 8080
server = asis.Server ('foo', 8080)
server.run ()
...
server.stop ()
Alternativ kann es in einem Kontext-Manager Weise verwendet werden:
Import asis
Importanforderungen
mit asis.Server ('foo') als Server:
& Nbsp; requests.get ("http: // localhost: 8080 / foo / bar.asis ')
Es gibt auch eine Befehlszeilenprogramm für komfortables, zum Servieren asis Dateien als eigenständiger Server, die besonders hilfreich für das Sehen Sie diese Dateien durch curl oder den Browser ist:
# Dienen Dateien von 'foo /' auf Port 8080
asis-Server foo --port 8080
# Dasselbe mit gevent und dass ausführliche
asis-Server foo --port 8080 --server gevent --verbose
Glocken und Pfeifen
Es gibt nur wenige Funktionen, die Sie benötigen, um die Vorteile zu nehmen:
Content-Encoding
Wenn Sie die Content-Encoding-Header liefern entweder als gzip oder entleeren, werden die in der Datei gespeichert Klar Inhalt komprimiert und über das Netzwerk gesendet, dass die Art und Weise. In diesen Fällen können Sie Content-Length als 0 lassen, und der wahre Inhalt Länge (nach der Komprimierung) wird an seiner Stelle geschickt werden. Beispielsweise wird der folgende als gzip-komprimierte Inhalte korrekt an den Browser gesendet:
HTTP / 1.0 200 OK
Content-Length: 0
Content-Type: text / plain
Content-Encoding: gzip
Hallo Welt!
Zeichensatz
Wenn Sie einen Zeichensatz in Ihrem Content-Type-Header enthalten, dann werden Ihre Inhalte als utf-8 auf der Platte interpretiert werden, und dann in der vorgesehenen Codierung codiert. Die Idee ist, den Bearbeitungsprozess zu helfen, so dass Sie nicht explizit speichern Sie Beispiele in ihrer deklarierten Zeichensatz. Wie Änderungen an Content-Encoding wird der Content-Length-Header neu berechnet um korrekt zu sein, wenn die Umwandlung abgeschlossen ist.
Modus
Standardmäßig wird der Server mit der gevent Server gestartet, und es ist in einem grünen Hintergrund Thread gestartet, und es soll von Anforderungen bereit, sobald Lauf dienen () zurückkehrt zu sein.
Alternativ kann der Server in zwei anderen Modi, Gabel und Block gestartet. Wenn die Gabel, dann wird der Server in einem separaten Prozess ausgeführt werden, und es funktioniert immer noch sowohl als Kontextmanager und nach dem Aufruf von run (). Wenn der Block ausgewählt ist, dann läuft er in einem Sperr Weise. Zum Beispiel:
# Führen Sie es in einem separaten Prozess
mit asis.Server ('foo', port = 8080, mode = 'fork'):
& Nbsp; # Machen Sie einige Anfragen
& Nbsp; ...
Beispiele und Tests
In Dazu zählen eine Reihe von Beispielen für Ist-Dokumente und test.py direkt ausführen, um sicherzustellen, dass sie korrekt übertragen werden:
./test.py
Es liefert auch ein Beispiel dafür, wie Sie es in Ihre Unit-Tests zu integrieren.
Beitrag
. Fragen, Kommentare, Ideen immer willkommen

Anforderungen :

  • Python

Ähnliche Software

evilvte
evilvte

14 Apr 15

ish
ish

14 Apr 15

WISH Mini-Console
WISH Mini-Console

12 May 15

Andere Software von Entwickler Dan Lecocq

aws-trade-in
aws-trade-in

20 Feb 15

reppy
reppy

11 May 15

Kommentare zu asis

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!