diff --git a/include/MacStd/CFNetwork.hpp b/include/MacStd/CFNetwork.hpp new file mode 100644 index 0000000..24eb2d2 --- /dev/null +++ b/include/MacStd/CFNetwork.hpp @@ -0,0 +1,28 @@ +/* + SPDX-License-Identifier: MIT + Copyright © 2023-2025 Amebis +*/ + +#pragma once + +#include "CoreFoundation.hpp" +#include +#include + +namespace macstd { + /// + /// HTTP message object traits + /// + struct cfhttpmessage_traits : public cfobject_traits + { + static CFHTTPMessageRef duplicate(CFHTTPMessageRef h) + { + CFHTTPMessageRef h2 = CFHTTPMessageCreateCopy(kCFAllocatorDefault, h); + if (h2 == invalid) + throw std::runtime_error("CFHTTPMessageCreateCopy failed"); + return h2; + } + }; + + using cfhttpmessage = handle; +}