aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libpathod/pathod.py11
-rw-r--r--libpathod/pathod_cmdline.py13
2 files changed, 9 insertions, 15 deletions
diff --git a/libpathod/pathod.py b/libpathod/pathod.py
index 505c8c22..f1496181 100644
--- a/libpathod/pathod.py
+++ b/libpathod/pathod.py
@@ -20,7 +20,7 @@ DEFAULT_CERT_DOMAIN = "pathod.net"
CONFDIR = "~/.mitmproxy"
CERTSTORE_BASENAME = "mitmproxy"
CA_CERT_NAME = "mitmproxy-ca.pem"
-DEFAULT_ANCHOR = r"/p/?"
+DEFAULT_CRAFT_ANCHOR = "/p/"
logger = logging.getLogger('pathod')
@@ -293,8 +293,9 @@ class PathodHandler(tcp.BaseHandler):
anchor_gen = i[1]
break
else:
- if m(self.server.craftanchor.match(path)):
- spec = urllib.unquote(path)[len(m.v.group()):]
+ print(self.server.craftanchor)
+ if m(path.startswith(self.server.craftanchor)):
+ spec = urllib.unquote(path)[len(self.server.craftanchor):]
if spec:
try:
anchor_gen = language.parse_pathod(spec)
@@ -373,7 +374,7 @@ class Pathod(tcp.TCPServer):
addr,
ssl=False,
ssloptions=None,
- craftanchor=re.compile(DEFAULT_ANCHOR),
+ craftanchor=DEFAULT_CRAFT_ANCHOR,
staticdir=None,
anchors=(),
sizelimit=None,
@@ -393,7 +394,7 @@ class Pathod(tcp.TCPServer):
addr: (address, port) tuple. If port is 0, a free port will be
automatically chosen.
ssloptions: an SSLOptions object.
- craftanchor: string specifying the path under which to anchor
+ craftanchor: URL prefix specifying the path under which to anchor
response generation.
staticdir: path to a directory of static resources, or None.
anchors: List of (regex object, language.Request object) tuples, or
diff --git a/libpathod/pathod_cmdline.py b/libpathod/pathod_cmdline.py
index c1f016c2..68828aca 100644
--- a/libpathod/pathod_cmdline.py
+++ b/libpathod/pathod_cmdline.py
@@ -45,11 +45,11 @@ def args_pathod(argv, stdout=sys.stdout, stderr=sys.stderr):
"""
)
parser.add_argument(
- "-c", dest='craftanchor', default=pathod.DEFAULT_ANCHOR, type=str,
+ "-c", dest='craftanchor', default=pathod.DEFAULT_CRAFT_ANCHOR, type=str,
help="""
- Regular expression specifying anchor point for URL crafting
+ URL path specifying prefix for URL crafting
commands. (%s)
- """%pathod.DEFAULT_ANCHOR
+ """%pathod.DEFAULT_CRAFT_ANCHOR
)
parser.add_argument(
"--confdir",
@@ -203,13 +203,6 @@ def args_pathod(argv, stdout=sys.stdout, stderr=sys.stderr):
return parser.error(v)
args.sizelimit = sizelimit
- try:
- args.craftanchor = re.compile(args.craftanchor)
- except re.error:
- return parser.error(
- "Invalid regex in craft anchor: %s" % args.craftanchor
- )
-
anchors = []
for patt, spec in args.anchors:
if os.path.isfile(spec):