pathod: flag to set debugging for web interface dev

This commit is contained in:
Aldo Cortesi 2015-04-22 15:58:25 +12:00
parent 99cb0808ab
commit 5dee4210eb
4 changed files with 11 additions and 6 deletions

View File

@ -9,9 +9,9 @@ from netlib import http_uastrings
logging.basicConfig(level="DEBUG")
def make_app(noapi):
def make_app(noapi, debug):
app = Flask(__name__)
# app.debug = True
app.debug = debug
if not noapi:
@app.route('/api/info')

View File

@ -273,6 +273,10 @@ def args_pathod(argv, stdout=sys.stdout, stderr=sys.stderr):
"--nocraft", dest='nocraft', default=False, action="store_true",
help='Disable response crafting. If anchors are specified, they still work.'
)
parser.add_argument(
"--webdebug", dest='webdebug', default=False, action="store_true",
help='Debugging mode for the web app (dev only).'
)
group = parser.add_argument_group(
'SSL',

View File

@ -289,7 +289,8 @@ class Pathod(tcp.TCPServer):
logreq=False,
logresp=False,
explain=False,
hexdump=False
hexdump=False,
webdebug=False,
):
"""
addr: (address, port) tuple. If port is 0, a free port will be
@ -317,7 +318,7 @@ class Pathod(tcp.TCPServer):
self.logresp, self.hexdump = logresp, hexdump
self.explain = explain
self.app = app.make_app(noapi)
self.app = app.make_app(noapi, webdebug)
self.app.config["pathod"] = self
self.log = []
self.logid = 0
@ -438,6 +439,7 @@ def main(args): # pragma: nocover
logresp = args.logresp,
hexdump = args.hexdump,
explain = args.explain,
webdebug = args.webdebug
)
except PathodError, v:
print >> sys.stderr, "Error: %s"%v

View File

@ -29,7 +29,7 @@ class DaemonTests(object):
],
ssl = klass.ssl,
ssloptions = so,
sizelimit=1*1024*1024,
sizelimit = 1*1024*1024,
noweb = klass.noweb,
noapi = klass.noapi,
nohang = klass.nohang,
@ -74,7 +74,6 @@ class DaemonTests(object):
return c.request(spec)
@contextmanager
def tmpdir(*args, **kwargs):
orig_workdir = os.getcwd()