MailRuChamps / hlcupdocs

High-loaded systems developer contest
https://highloadcup.ru
151 stars 34 forks source link

Показывать полный запрос и полный ответ в "неверных ответах" #70

Closed 1buran closed 5 years ago

1buran commented 7 years ago

@sat2707

Были уже предложения по поводу отображения #65 #55 и, возможно, другие, но, я думаю, всех бы устроило очень, если бы просто показывался целиком запрос и ответ при нажатии на элемент списка "Примеры неверных ответов" (как это сейчас сделано для POST запросов, но там только показывается json данные отправляемые на сервер), т.е. хотелось бы чтобы это выглядело примерно так:

POST /locations/116 HTTP/1.1                  
Accept: application/json, */*                 
Accept-Encoding: gzip, deflate                
Connection: keep-alive                        
Content-Length: 70                            
Content-Type: application/json                
Host: travels.com                                                                                                                                                                         
User-Agent: HTTPie/0.9.9                                                                                                                                                                  

{                                                                                                                                                                                         
    "country": "Коста-Рика"                                                                                                                                                               
}                                                                                                                                                                                         

HTTP/1.1 200 OK                                                                                                                                                                           
Content-Length: 2                                                                                                                                                                         
Content-Type: application/json                                                                                                                                                            
X-Frame-Options: SAMEORIGIN                                                                                                                                                               

{}                                 

чтобы было видно, реальный урл который дёргал танк, заголовки и данные которые были переданы/получены.

Зачем это надо?

Кроме того что так гораздо понятнее ориентироваться в вопросе "где чьё" (см. #65), но и полезно для анализа, вот у меня, например такая ситуация: я вижу 400-е на POST, пробую повторить локально отсылая те же данные и проблем нет (выше привёл пример), однако, позже, я догадался что проблема, возможно, у меня из-за такой проверки:

        if self.request.content_type != 'application/json':
            return HttpResponse(status=400)

гораздо меньше времени уходит на поиск проблемы, если сразу видеть в "Примеры неверных ответов" полную информацию о запросе/ответе, всё-таки это должно быть, согласитесь.

xammi commented 7 years ago

Мы бы и рады это дампить, но существуют ограничения на размер диска, выделяемого для ответов сервера, результата, архивированного результата, времени обработки на каждой стадии.