Fix payload iteration issue of FormBody; Log form body; ignore body for response of HEAD.

This commit is contained in:
Chunting Gu
2019-07-09 13:18:55 +08:00
parent 3309e7896a
commit b2cbc450b8
21 changed files with 364 additions and 165 deletions
+11 -7
View File
@@ -8,14 +8,18 @@ int main() {
webcc::ClientSession session;
webcc::ResponsePtr r;
try {
auto r = session.Request(webcc::RequestBuilder{}.
Get("http://httpbin.org/get").
Query("key1", "value1").
Query("key2", "value2").
Date().
Header("Accept", "application/json")
());
r = session.Head("http://httpbin.org/get");
r = session.Request(webcc::RequestBuilder{}.
Get("http://httpbin.org/get").
Query("key1", "value1").
Query("key2", "value2").
Date().
Header("Accept", "application/json")
());
r = session.Get("http://httpbin.org/get",
{ "key1", "value1", "key2", "value2" },
+37
View File
@@ -0,0 +1,37 @@
# A demo HTTP file upload server modified from:
# http://flask.pocoo.org/docs/1.0/patterns/fileuploads/#uploading-files
# Run:
# (Windows)
# $ set FLASK_APP=file_upload_server.py
# $ flask
import os
from flask import Flask, flash, request, redirect, url_for
from flask import send_from_directory
from werkzeug.utils import secure_filename
UPLOAD_FOLDER = '/path/to/the/uploads'
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
@app.route('/upload', methods=['POST'])
def upload_file():
if request.method == 'POST':
for name, data in request.form.items():
print(f'form: {name}, {data}')
for name, file in request.files.items():
if file:
secured_filename = secure_filename(file.filename)
print(f"file: {name}, {file.filename} ({secured_filename})")
file.save(os.path.join(app.config['UPLOAD_FOLDER'],
secured_filename))
return "OK"
@app.route('/uploads/<filename>')
def uploaded_file(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'], filename)