Skip to content

Instantly share code, notes, and snippets.

@TheWaWaR
Last active December 30, 2024 03:39
Show Gist options
  • Save TheWaWaR/bd26ef76dabca2d410dd to your computer and use it in GitHub Desktop.
Save TheWaWaR/bd26ef76dabca2d410dd to your computer and use it in GitHub Desktop.

Revisions

  1. TheWaWaR revised this gist May 2, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion flask_dump_request_response.py
    Original file line number Diff line number Diff line change
    @@ -66,7 +66,7 @@ def after_request(resp):
    def log():
    g.uuid = uuid.uuid1().hex
    req_data = save_request(g.uuid, request)
    resp = Response(json.dumps(req_data, indent=4), mimetype='application/json')
    resp = Response(json.dumps(req_data, indent=4, default=str), mimetype='application/json')
    resp.set_cookie('cookie-name', value='cookie-value')
    return resp

  2. TheWaWaR revised this gist May 2, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions flask_dump_request_response.py
    Original file line number Diff line number Diff line change
    @@ -49,7 +49,7 @@ def save_response(uuid, resp):

    @app.before_request
    def before_request():
    print request.method, request.endpoint
    print(request.method, request.endpoint)


    @app.after_request
    @@ -58,7 +58,7 @@ def after_request(resp):
    resp.headers.add('Access-Control-Allow-Headers', 'Content-Type, X-Token')
    resp.headers.add('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE')
    resp_data = save_response(g.uuid, resp)
    print 'Response:: ', json.dumps(resp_data, indent=4)
    print('Response:: ', json.dumps(resp_data, indent=4))
    return resp


  3. TheWaWaR revised this gist May 2, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion flask_dump_request_response.py
    Original file line number Diff line number Diff line change
    @@ -25,7 +25,7 @@ def save_request(uuid, request):
    req_data['form'] = request.form
    req_data['remote_addr'] = request.remote_addr
    files = []
    for name, fs in request.files.iteritems():
    for name, fs in request.files.items():
    dst = tempfile.NamedTemporaryFile()
    fs.save(dst)
    dst.flush()
  4. TheWaWaR revised this gist Nov 25, 2015. 1 changed file with 3 additions and 4 deletions.
    7 changes: 3 additions & 4 deletions flask_dump_request_response.py
    Original file line number Diff line number Diff line change
    @@ -54,10 +54,9 @@ def before_request():

    @app.after_request
    def after_request(resp):
    if request.method == 'OPTIONS':
    resp.headers.add('Access-Control-Allow-Origin', '*')
    resp.headers.add('Access-Control-Allow-Headers', 'Content-Type, X-Token')
    resp.headers.add('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE')
    resp.headers.add('Access-Control-Allow-Origin', '*')
    resp.headers.add('Access-Control-Allow-Headers', 'Content-Type, X-Token')
    resp.headers.add('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE')
    resp_data = save_response(g.uuid, resp)
    print 'Response:: ', json.dumps(resp_data, indent=4)
    return resp
  5. TheWaWaR revised this gist Nov 24, 2015. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions flask_dump_request_response.py
    Original file line number Diff line number Diff line change
    @@ -46,6 +46,7 @@ def save_response(uuid, resp):
    resp_data['data'] = resp.response
    return resp_data


    @app.before_request
    def before_request():
    print request.method, request.endpoint
  6. TheWaWaR revised this gist Nov 24, 2015. 2 changed files with 75 additions and 41 deletions.
    41 changes: 0 additions & 41 deletions flask_dump_request.py
    Original file line number Diff line number Diff line change
    @@ -1,41 +0,0 @@
    #!/usr/bin/env python
    # coding: utf-8

    import os
    import sys
    import json
    import tempfile
    from flask import Flask, request

    app = Flask(__name__)
    app.debug = True

    @app.route('/log', methods=['GET', 'POST'])
    def log():
    req_data = {}

    req_data['endpoint'] = request.endpoint
    req_data['method'] = request.method
    req_data['remote_addr'] = request.remote_addr
    req_data['headers'] = dict(request.headers)
    req_data['headers'].pop('Cookie', None)
    req_data['cookies'] = request.cookies
    req_data['args'] = request.args
    req_data['data'] = request.data
    req_data['form'] = request.form
    files = []
    for name, fs in request.files.iteritems():
    dst = tempfile.NamedTemporaryFile()
    fs.save(dst)
    dst.flush()
    filesize = os.stat(dst.name).st_size
    dst.close()
    files.append({'name': name, 'filename': fs.filename, 'filesize': filesize,
    'mimetype': fs.mimetype, 'mimetype_params': fs.mimetype_params})
    req_data['files'] = files
    print json.dumps(req_data, indent=4)
    return 'ok'


    if __name__ == '__main__':
    app.run('0.0.0.0', port=int(sys.argv[1]), debug=True)
    75 changes: 75 additions & 0 deletions flask_dump_request_response.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,75 @@
    #!/usr/bin/env python
    # coding: utf-8

    import os
    import sys
    import json
    import uuid
    import tempfile
    from flask import Flask, request, Response, g

    app = Flask(__name__)
    app.debug = True


    def save_request(uuid, request):
    req_data = {}
    req_data['uuid'] = uuid
    req_data['endpoint'] = request.endpoint
    req_data['method'] = request.method
    req_data['cookies'] = request.cookies
    req_data['data'] = request.data
    req_data['headers'] = dict(request.headers)
    req_data['headers'].pop('Cookie', None)
    req_data['args'] = request.args
    req_data['form'] = request.form
    req_data['remote_addr'] = request.remote_addr
    files = []
    for name, fs in request.files.iteritems():
    dst = tempfile.NamedTemporaryFile()
    fs.save(dst)
    dst.flush()
    filesize = os.stat(dst.name).st_size
    dst.close()
    files.append({'name': name, 'filename': fs.filename, 'filesize': filesize,
    'mimetype': fs.mimetype, 'mimetype_params': fs.mimetype_params})
    req_data['files'] = files
    return req_data


    def save_response(uuid, resp):
    resp_data = {}
    resp_data['uuid'] = uuid
    resp_data['status_code'] = resp.status_code
    resp_data['status'] = resp.status
    resp_data['headers'] = dict(resp.headers)
    resp_data['data'] = resp.response
    return resp_data

    @app.before_request
    def before_request():
    print request.method, request.endpoint


    @app.after_request
    def after_request(resp):
    if request.method == 'OPTIONS':
    resp.headers.add('Access-Control-Allow-Origin', '*')
    resp.headers.add('Access-Control-Allow-Headers', 'Content-Type, X-Token')
    resp.headers.add('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE')
    resp_data = save_response(g.uuid, resp)
    print 'Response:: ', json.dumps(resp_data, indent=4)
    return resp


    @app.route('/log', methods=['GET', 'POST'])
    def log():
    g.uuid = uuid.uuid1().hex
    req_data = save_request(g.uuid, request)
    resp = Response(json.dumps(req_data, indent=4), mimetype='application/json')
    resp.set_cookie('cookie-name', value='cookie-value')
    return resp


    if __name__ == '__main__':
    app.run('0.0.0.0', port=int(sys.argv[1]), debug=True)
  7. TheWaWaR revised this gist Oct 22, 2015. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions flask_dump_request.py
    Original file line number Diff line number Diff line change
    @@ -13,14 +13,16 @@
    @app.route('/log', methods=['GET', 'POST'])
    def log():
    req_data = {}
    req_data['cookies'] = request.cookies

    req_data['endpoint'] = request.endpoint
    req_data['method'] = request.method
    req_data['data'] = request.data
    req_data['remote_addr'] = request.remote_addr
    req_data['headers'] = dict(request.headers)
    req_data['headers'].pop('Cookie', None)
    req_data['cookies'] = request.cookies
    req_data['args'] = request.args
    req_data['data'] = request.data
    req_data['form'] = request.form
    req_data['remote_addr'] = request.remote_addr
    files = []
    for name, fs in request.files.iteritems():
    dst = tempfile.NamedTemporaryFile()
  8. TheWaWaR created this gist Oct 22, 2015.
    39 changes: 39 additions & 0 deletions flask_dump_request.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,39 @@
    #!/usr/bin/env python
    # coding: utf-8

    import os
    import sys
    import json
    import tempfile
    from flask import Flask, request

    app = Flask(__name__)
    app.debug = True

    @app.route('/log', methods=['GET', 'POST'])
    def log():
    req_data = {}
    req_data['cookies'] = request.cookies
    req_data['method'] = request.method
    req_data['data'] = request.data
    req_data['headers'] = dict(request.headers)
    req_data['headers'].pop('Cookie', None)
    req_data['args'] = request.args
    req_data['form'] = request.form
    req_data['remote_addr'] = request.remote_addr
    files = []
    for name, fs in request.files.iteritems():
    dst = tempfile.NamedTemporaryFile()
    fs.save(dst)
    dst.flush()
    filesize = os.stat(dst.name).st_size
    dst.close()
    files.append({'name': name, 'filename': fs.filename, 'filesize': filesize,
    'mimetype': fs.mimetype, 'mimetype_params': fs.mimetype_params})
    req_data['files'] = files
    print json.dumps(req_data, indent=4)
    return 'ok'


    if __name__ == '__main__':
    app.run('0.0.0.0', port=int(sys.argv[1]), debug=True)