Files
UNSWebServerCore_WindowsDLL/UNSWebServerCore/HTTPObjectsBridge.h
T
2026-06-30 17:46:34 +08:00

63 lines
1.2 KiB
C++

#pragma once
#include <webcc/request.h>
#include <webcc/response.h>
#include "HTTPObjects.h" // 引入刚才的外观声明
class uns::UrlQuery::Impl
{
public:
webcc::UrlQuery webcc_query;
explicit Impl(const webcc::UrlQuery& query) : webcc_query(query)
{
}
};
class uns::FormPart::Impl
{
public:
webcc::FormPartPtr webcc_form;
explicit Impl(webcc::FormPartPtr res) : webcc_form(res)
{
}
};
// 在私有头文件里,明确定义外部壳类的 Impl 内部结构
class uns::Request::Impl
{
public:
webcc::RequestPtr webcc_req;
// 影子缓存机制:用于解决 webcc 集合类型到外壳集合类型的无损生命周期映射
mutable std::vector<uns::FormPartPtr> cached_form_parts;
mutable bool form_parts_cached = false;
explicit Impl(webcc::RequestPtr req) : webcc_req(req)
{
}
};
class uns::Response::Impl
{
public:
webcc::ResponsePtr webcc_res;
explicit Impl(webcc::ResponsePtr res) : webcc_res(res)
{
}
};
namespace uns
{
inline webcc::Status ConvertStatus(uns::Status s)
{
return static_cast<webcc::Status>(static_cast<int>(s));
}
inline uns::Status ConvertStatus(webcc::Status s)
{
return static_cast<uns::Status>(static_cast<int>(s));
}
}