@@ -337,6 +337,8 @@ using ContentProvider =
337337using ContentProviderWithoutLength =
338338 std::function<bool (size_t offset, DataSink &sink)>;
339339
340+ using ContentProviderResourceReleaser = std::function<void ()>;
341+
340342using ContentReceiverWithProgress =
341343 std::function<bool (const char *data, size_t data_length, uint64_t offset,
342344 uint64_t total_length)>;
@@ -446,15 +448,15 @@ struct Response {
446448
447449 void set_content_provider (
448450 size_t length, const char *content_type, ContentProvider provider,
449- const std::function< void ()> & resource_releaser = nullptr);
451+ ContentProviderResourceReleaser resource_releaser = nullptr );
450452
451453 void set_content_provider (
452454 const char *content_type, ContentProviderWithoutLength provider,
453- const std::function< void ()> & resource_releaser = nullptr);
455+ ContentProviderResourceReleaser resource_releaser = nullptr );
454456
455457 void set_chunked_content_provider (
456458 const char *content_type, ContentProviderWithoutLength provider,
457- const std::function< void ()> & resource_releaser = nullptr);
459+ ContentProviderResourceReleaser resource_releaser = nullptr );
458460
459461 Response () = default ;
460462 Response (const Response &) = default ;
@@ -470,7 +472,7 @@ struct Response {
470472 // private members...
471473 size_t content_length_ = 0 ;
472474 ContentProvider content_provider_;
473- std::function< void ()> content_provider_resource_releaser_;
475+ ContentProviderResourceReleaser content_provider_resource_releaser_;
474476 bool is_chunked_content_provider_ = false ;
475477};
476478
@@ -4030,10 +4032,9 @@ inline void Response::set_content(const std::string &s,
40304032 set_content (s.data (), s.size (), content_type);
40314033}
40324034
4033- inline void
4034- Response::set_content_provider (size_t in_length, const char *content_type,
4035- ContentProvider provider,
4036- const std::function<void ()> &resource_releaser) {
4035+ inline void Response::set_content_provider (
4036+ size_t in_length, const char *content_type, ContentProvider provider,
4037+ ContentProviderResourceReleaser resource_releaser) {
40374038 assert (in_length > 0 );
40384039 set_header (" Content-Type" , content_type);
40394040 content_length_ = in_length;
@@ -4042,10 +4043,9 @@ Response::set_content_provider(size_t in_length, const char *content_type,
40424043 is_chunked_content_provider_ = false ;
40434044}
40444045
4045- inline void
4046- Response::set_content_provider (const char *content_type,
4047- ContentProviderWithoutLength provider,
4048- const std::function<void ()> &resource_releaser) {
4046+ inline void Response::set_content_provider (
4047+ const char *content_type, ContentProviderWithoutLength provider,
4048+ ContentProviderResourceReleaser resource_releaser) {
40494049 set_header (" Content-Type" , content_type);
40504050 content_length_ = 0 ;
40514051 content_provider_ = detail::ContentProviderAdapter (std::move (provider));
@@ -4055,7 +4055,7 @@ Response::set_content_provider(const char *content_type,
40554055
40564056inline void Response::set_chunked_content_provider (
40574057 const char *content_type, ContentProviderWithoutLength provider,
4058- const std::function< void ()> & resource_releaser) {
4058+ ContentProviderResourceReleaser resource_releaser) {
40594059 set_header (" Content-Type" , content_type);
40604060 content_length_ = 0 ;
40614061 content_provider_ = detail::ContentProviderAdapter (std::move (provider));
@@ -7058,7 +7058,8 @@ inline void SSLClient::shutdown_ssl(Socket &socket, bool shutdown_gracefully) {
70587058 shutdown_ssl_impl (socket, shutdown_gracefully);
70597059}
70607060
7061- inline void SSLClient::shutdown_ssl_impl (Socket &socket, bool shutdown_gracefully) {
7061+ inline void SSLClient::shutdown_ssl_impl (Socket &socket,
7062+ bool shutdown_gracefully) {
70627063 if (socket.sock == INVALID_SOCKET) {
70637064 assert (socket.ssl == nullptr );
70647065 return ;
0 commit comments