common/util/cpp/RequestContext.cpp (12 lines of code) (raw):
#include <folly/io/async/Request.h>
#include "cpp/Destructible.h"
using RequestContextPtr = std::shared_ptr<folly::RequestContext>;
HS_DEFINE_DESTRUCTIBLE(RequestContextPtr, RequestContextPtr);
extern "C" {
RequestContextPtr* hs_request_context_saveContext() noexcept {
return new RequestContextPtr(folly::RequestContext::saveContext());
}
void hs_request_context_setContext(RequestContextPtr* ptr) noexcept {
folly::RequestContext::setContext(*ptr);
}
} // extern "C"