fix craft anchor

The go-button in the app was broken due to an invalid string representation of the regex. A plain string used as URL prefix simplifies this drastically.
This commit is contained in:
Thomas Kriechbaumer 2015-06-11 16:36:58 +02:00
parent 0bc8fa1d0d
commit 22811c45dd
2 changed files with 9 additions and 15 deletions

View File

@ -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

View File

@ -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):