Mercurial > hg > redirector
annotate README.txt @ 2:ff524f0a62de default tip
py3
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Tue, 03 Nov 2020 09:58:14 -0800 |
parents | 55578cf505dd |
children |
rev | line source |
---|---|
1
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
1 redirector |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
2 ========== |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
3 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
4 *Control redirects through WSGI middleware.* |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
5 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
6 redirector is a piece of WSGI middleware that allows redirects to be |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
7 managed within the scope of a python web service. Traditionally, |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
8 redirects are done via Apache or some other web server disparate from |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
9 the python application. This leads to several undesirable |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
10 consequences: |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
11 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
12 * there is no way of controlling redirects through the web |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
13 * the web server must be restarted when redirects are changed |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
14 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
15 Because of this methodology of doing things, it discourages the |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
16 stake-holders (the people that actually care about the redirects) from |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
17 changing the redirects themselves. Because the redirects are not, in |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
18 their mind, content, this leads to unmaintainable systems. The goal |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
19 of redirector is to bring the power to create redirects to any |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
20 authorized user. |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
21 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
22 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
23 Status |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
24 ------ |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
25 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
26 Redirector is largely in the conceptual stage. While what redirector |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
27 does now (regular expression redirects) is sufficient to reproduce |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
28 Apache's behavior, it is not enough to realize the vision of bringing |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
29 redirects to the people for WSGI apps. |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
30 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
31 Even this documentation is thoroughly imcomplete. |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
32 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
33 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
34 TODO |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
35 ---- |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
36 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
37 redirector needs several pieces to become what it should be: |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
38 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
39 Types of Redirects |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
40 ------------------ |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
41 |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
42 Currently, only regular expression redirects (a la Apache) are |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
43 implemented. Another possibility, probably more applicable, are |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
44 something like glob redirects. The reason that these are useful is |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
45 that they, with a carefully constructed rule system, can be seen to |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
46 match each other. In other words, you can see if the existing set of |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
47 redirects is contradictory and if there are superfluous redirects. It |
55578cf505dd
add some documentation for redirector
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
48 also better matches how non-experts think about redirects. |