forked from segoon/upastebin
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtext.cpp
More file actions
29 lines (22 loc) · 906 Bytes
/
text.cpp
File metadata and controls
29 lines (22 loc) · 906 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "text.hpp"
#include <userver/components/component_context.hpp>
#include <userver/components/fs_cache.hpp>
namespace upastebin {
TextHandler::TextHandler(
const userver::components::ComponentConfig& config,
const userver::components::ComponentContext& context)
: HttpHandlerBase(config, context),
fs_client_(
context.FindComponent<userver::components::FsCache>("resources-cache")
.GetClient()) {}
std::string TextHandler::HandleRequestThrow(
const userver::server::http::HttpRequest& request,
userver::server::request::RequestContext&) const {
auto id = request.GetPathArg("id");
auto file_ptr = fs_client_.TryGetFile("/text.html");
UINVARIANT(file_ptr, "text.html is not found");
auto& response = request.GetHttpResponse();
response.SetContentType("text/html; charset=UTF-8");
return file_ptr->data;
}
} // namespace upastebin