url-dispatching und "einhängepunkte"

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Dienstag 12. Dezember 2006, 13:17

Hallo Forum!

Ich schreibe gerade eine kleine WSGI-Applikation.
Meine Recherchen haben ergeben, dass URL-Dispatching üblicherweise durch das Zerlegen von environ['PATH_INFO'] getan wird, also hab ich das auch mal so gemacht.
Jetzt möchte ich dem User allerdings nicht vorschreiben, wo er die Applikation veröffentlich, soll heissen, dass wenn der User z.B. einen Apache nutzt, und es so einbindet:

Code: Alles auswählen

<Location /a/prefix/path/>
   SetHandler python-program
   PythonHandler paste.modpython
   ...
</Location>
soll die Applikation nur den Teil nach /a/prefix/path beachten. Allerdings finde ich nirgendwo im Environ Variablen, die mir darüber eine Auskunft geben.
Gibt es da eine Möglichkeit, die am besten noch Serverunabhängig ist, oder muss man das per Konfiguration durch den User lösen?
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Dienstag 12. Dezember 2006, 16:14

Das WSGI Gateway versuchert dir (wenns nicht kaputt ist), dass der Teil (/a/prefix/path) im SCRIPT_NAME steckt, der Teil danach im PATH_INFO.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Dienstag 12. Dezember 2006, 16:33

Das WSGI Gateway versuchert dir (wenns nicht kaputt ist), dass der Teil (/a/prefix/path) im SCRIPT_NAME steckt, der Teil danach im PATH_INFO.
Dann scheint es kaputt zu sein. Ich benutze Paste, und Paste gibt als PATH_INFO immer alles links von letzten slash zurück, SCRIPT_NAME alles rechts davon.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Dienstag 12. Dezember 2006, 16:35

keppla hat geschrieben:
Das WSGI Gateway versuchert dir (wenns nicht kaputt ist), dass der Teil (/a/prefix/path) im SCRIPT_NAME steckt, der Teil danach im PATH_INFO.
Dann scheint es kaputt zu sein. Ich benutze Paste, und Paste gibt als PATH_INFO immer alles links von letzten slash zurück, SCRIPT_NAME alles rechts davon.
Dann würde ich einen bug filen.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Dienstag 12. Dezember 2006, 17:04

Ich bin mir da jetzt etwas unsicher. Ich habe gerade eben PEP 333 gelesen, und stimme dir dementsprechend zu, dass der rechte Teil in PATH_INFO, der linke in script_name sein sollte.

Allerdings scheint es normal zu sein, nur PATH_INFO zu betrachten, colubrid z.B. scheint es auch so zu machen.

Wenn es ein Bug ist, so ist er zumindest konsensfähig ;)
Antworten