mirror of
https://github.com/kennethreitz/httpbin.git
synced 2026-06-05 23:00:18 +00:00
redirect_to: split arg process for GET vs POST/PATCH/PUT, so the latter use formData for parameters. Fixed #476.
POST/PUT only support formData body, not JSON. Note that PATCH parameters do not appear in Swagger 2 UI.
This commit is contained in:
+47
-9
@@ -510,20 +510,58 @@ def redirect_to():
|
||||
- Redirects
|
||||
produces:
|
||||
- text/html
|
||||
parameters:
|
||||
- in: query
|
||||
name: url
|
||||
type: string
|
||||
required: true
|
||||
- in: query
|
||||
name: status_code
|
||||
type: int
|
||||
get:
|
||||
parameters:
|
||||
- in: query
|
||||
name: url
|
||||
type: string
|
||||
required: true
|
||||
- in: query
|
||||
name: status_code
|
||||
type: int
|
||||
post:
|
||||
consumes:
|
||||
- application/x-www-form-urlencoded
|
||||
parameters:
|
||||
- in: formData
|
||||
name: url
|
||||
type: string
|
||||
required: true
|
||||
- in: formData
|
||||
name: status_code
|
||||
type: int
|
||||
required: false
|
||||
patch:
|
||||
consumes:
|
||||
- application/x-www-form-urlencoded
|
||||
parameters:
|
||||
- in: formData
|
||||
name: url
|
||||
type: string
|
||||
required: true
|
||||
- in: formData
|
||||
name: status_code
|
||||
type: int
|
||||
required: false
|
||||
put:
|
||||
consumes:
|
||||
- application/x-www-form-urlencoded
|
||||
parameters:
|
||||
- in: formData
|
||||
name: url
|
||||
type: string
|
||||
required: true
|
||||
- in: formData
|
||||
name: status_code
|
||||
type: int
|
||||
required: false
|
||||
responses:
|
||||
302:
|
||||
description: A redirection.
|
||||
"""
|
||||
|
||||
args = CaseInsensitiveDict(request.args.items())
|
||||
argsDict = request.form.to_dict(flat=True) if request.method in ('POST', 'PATCH', 'PUT') else request.args.items()
|
||||
args = CaseInsensitiveDict(argsDict)
|
||||
|
||||
# We need to build the response manually and convert to UTF-8 to prevent
|
||||
# werkzeug from "fixing" the URL. This endpoint should set the Location
|
||||
|
||||
Reference in New Issue
Block a user