-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtimehandler.cpp
33 lines (26 loc) · 1003 Bytes
/
timehandler.cpp
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
30
31
32
33
#include "timehandler.h"
#include <boost/date_time.hpp>
#include <boost/date_time/gregorian/gregorian.hpp>
#include <folly/io/IOBuf.h>
#include <proxygen/httpserver/ResponseBuilder.h>
#include <folly/dynamic.h>
TimeHandler::TimeHandler() {}
void TimeHandler::onRequest(
std::unique_ptr<proxygen::HTTPMessage> headers) noexcept {}
void TimeHandler::onBody(std::unique_ptr<folly::IOBuf> body) noexcept {}
void TimeHandler::onEOM() noexcept {
boost::gregorian::date d{boost::gregorian::day_clock::local_day()};
std::stringstream ss;
ss << d;
// downstream_->
folly::dynamic jsonObj = folly::dynamic::object("date", ss.str());
ss.str("");
ss << jsonObj;
proxygen::ResponseBuilder(downstream_)
.status(200, "OK")
.body(ss.str())
.sendWithEOM();
}
void TimeHandler::onUpgrade(proxygen::UpgradeProtocol proto) noexcept {}
void TimeHandler::requestComplete() noexcept { delete this; }
void TimeHandler::onError(proxygen::ProxygenError err) noexcept { delete this; }