2014-09-02 4 views
2

Я написал свой собственный клиент, который отправляет необработанные HTTP-запросы через мою Wi-Fi-карту на мой веб-сервер.Flask Json Запрос 400 регистрации?

Это то, что типичные запросы выглядят следующим образом:

Content-Length: 214 
User-Agent: blah 
Connection: close 
Host: 1.2.3.4:5000 
Content-Type: application/json 

{"data":[{"scoutId":2,"message":"ph=5.65"},{"scoutId":4,"message":"ph=4.28"},{"scoutId":3,"message":"ph=4.28"},{"scoutId":2,"message":"ph=5.65"},{"scoutId":4,"message":"ph=4.28"},{"scoutId":3,"message":"ph=4.30"}]} 

Иногда мои клиенты завинтить и отправлять запросы искаженных JSON на мою колбе сервер. Как правило, в колбе будет только отображаться:

1.2.3.5 - - [01/Sep/2014 22:13:03] "POST/HTTP/1.1" 400 - 

и ничего информативного о запросе.

Я хотел бы отслеживать каждый запрос, который привел к 400 в моей среде, и проанализировать, что вызывает эти ошибки.

Где я могу разместить свою функцию пользовательских ошибок на моем фляжном сервере?

ответ

4

Попробуйте включить это на:

app.config['TRAP_BAD_REQUEST_ERRORS'] = True 

Это должно сделать колба вызвать исключение вместо того, чтобы просто войти в 400 (см documentation here).

Если вам нужно сделать что-то большее, чем это, сделать обработчик события:

http://flask.pocoo.org/docs/0.10/patterns/errorpages/

@app.errorhandler(400) 
def page_not_found(exc): 
    #do something with the exception object `exc` here 
    .... 

Или попробуйте обертывание тела вашей функции зрения в попытке/за исключением.

Смежные вопросы