#pragma once #include #include #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 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(static_cast(s)); } inline uns::Status ConvertStatus(webcc::Status s) { return static_cast(static_cast(s)); } }