2013-05-19 46 views
17

Làm cách nào để đặt mã trạng thái HTTP của phản hồi của tôi trong Chai?Đặt mã trạng thái HTTP trong Chai?

from bottle import app, run, route, Response 

@route('/') 
def f(): 
    Response.status = 300 # also tried `Response.status_code = 300` 
    return dict(hello='world') 

'''StripPathMiddleware defined: 
    http://bottlepy.org/docs/dev/recipes.html#ignore-trailing-slashes 
''' 

run(host='localhost', app=StripPathMiddleware(app())) 

Như bạn thấy, sản lượng không trả về mã trạng thái HTTP tôi đặt:

$ curl localhost:8080 -i 
HTTP/1.0 200 OK 
Date: Sun, 19 May 2013 18:28:12 GMT 
Server: WSGIServer/0.1 Python/2.7.4 
Content-Length: 18 
Content-Type: application/json 

{"hello": "world"} 
+0

thực hiện phản hồi nhập khẩu từ chai; response.status = 300' làm việc? http://bottlepy.org/docs/dev/api.html#bottle.response – dm03514

+1

Vâng, điều đó đã làm được điều đó. Cảm ơn :) –

Trả lời

30

Tôi tin rằng bạn nên sử dụng response

from bottle import response; response.status = 300

12

Chai tích -loại phản hồi xử lý mã trạng thái một cách duyên dáng. Hãy xem xét một cái gì đó như:

return bottle.HTTPResponse(status=300, body=theBody) 

Như trong:

import json 
from bottle import HTTPResponse 

@route('/') 
def f(): 
    theBody = json.dumps({'hello': 'world'}) # you seem to want a JSON response 
    return bottle.HTTPResponse(status=300, body=theBody) 
+0

câu trả lời của dm03514 là những gì tôi đang tìm kiếm. Cung cấp cho tôi mọi thứ tôi đã làm sau, mà không yêu cầu bất kỳ thay đổi nào đối với mã của tôi (ngoài việc đổi tên từ 'Response' thành' response'. –

-1

tăng có thể được sử dụng để có được nhiều quyền lực hơn với HttpResponse để hiển thị mã trạng thái (200.302.401):

Giống như bạn chỉ có thể làm được điều này cách:

import json 
from bottle import HTTPResponse 

response={} 
headers = {'Content-type': 'application/json'} 
response['status'] ="Success" 
response['message']="Hello World." 
result = json.dumps(response,headers) 
raise HTTPResponse(result,status=200,headers=headers) 
Các vấn đề liên quan