Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions core/include/userver/server/handlers/http_handler_base.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -168,14 +168,18 @@ class HttpHandlerBase : public HandlerBase {
/// condition
virtual bool NeedCheckAuth() const { return true; }

/// Override it if you need a custom request body logging.
/// Override it if you need a custom request body logging. The returned
/// string is automatically truncated to the `request_body_size_log_limit`
/// before logging.
virtual std::string GetRequestBodyForLogging(
const http::HttpRequest& request,
request::RequestContext& context,
const std::string& request_body
) const;

/// Override it if you need a custom response data logging.
/// Override it if you need a custom response data logging. The returned
/// string is automatically truncated to the `response_data_size_log_limit`
/// before logging.
virtual std::string GetResponseDataForLogging(
const http::HttpRequest& request,
request::RequestContext& context,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#include <userver/server/handlers/http_handler_base.hpp>
#include <userver/server/http/http_error.hpp>
#include <userver/utils/log.hpp>
#include <userver/utils/encoding/hex.hpp>
#include <userver/yaml_config/schema.hpp>

USERVER_NAMESPACE_BEGIN
Expand Down Expand Up @@ -128,8 +128,7 @@ std::string HttpHandlerFlatbufBase<InputType, ReturnType>::GetRequestBodyForLogg
request::RequestContext&,
const std::string& request_body
) const {
const size_t limit = GetConfig().request_body_size_log_limit;
return utils::log::ToLimitedHex(request_body, limit);
return utils::encoding::ToHex(request_body);
}

template <typename InputType, typename ReturnType>
Expand All @@ -138,8 +137,7 @@ std::string HttpHandlerFlatbufBase<InputType, ReturnType>::GetResponseDataForLog
request::RequestContext&,
const std::string& response_data
) const {
const size_t limit = GetConfig().response_data_size_log_limit;
return utils::log::ToLimitedHex(response_data, limit);
return utils::encoding::ToHex(response_data);
}

template <typename InputType, typename ReturnType>
Expand Down
6 changes: 2 additions & 4 deletions core/src/server/handlers/http_handler_base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -318,17 +318,15 @@ std::string HttpHandlerBase::GetRequestBodyForLogging(
request::RequestContext&,
const std::string& request_body
) const {
const std::size_t limit = GetConfig().request_body_size_log_limit;
return utils::log::ToLimitedUtf8(request_body, limit);
return request_body;
}

std::string HttpHandlerBase::GetResponseDataForLogging(
const http::HttpRequest&,
request::RequestContext&,
const std::string& response_data
) const {
const std::size_t limit = GetConfig().response_data_size_log_limit;
return utils::log::ToLimitedUtf8(response_data, limit);
return response_data;
}

std::string HttpHandlerBase::GetUrlForLogging(const http::HttpRequest& request, request::RequestContext&) const {
Expand Down