Skip to content

Commit a0a0f8d

Browse files
ras0219ras0219-msft
authored andcommitted
Refactor http_client_impl.h to be internal.
1 parent d3391c8 commit a0a0f8d

File tree

12 files changed

+604
-491
lines changed

12 files changed

+604
-491
lines changed

Release/include/cpprest/details/http_client_impl.h

Lines changed: 0 additions & 466 deletions
This file was deleted.

Release/include/cpprest/http_client.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -280,8 +280,7 @@ class http_client_config
280280
}
281281
#endif
282282

283-
#ifdef _WIN32
284-
#if !defined(__cplusplus_winrt)
283+
#if defined(_WIN32) && !defined(__cplusplus_winrt)
285284
/// <summary>
286285
/// Checks if request data buffering is turned on, the default is off.
287286
/// </summary>
@@ -302,7 +301,6 @@ class http_client_config
302301
{
303302
m_buffer_request = buffer_request;
304303
}
305-
#endif
306304
#endif
307305

308306
/// <summary>
@@ -422,7 +420,7 @@ class http_client
422420
/// Note the destructor doesn't necessarily close the connection and release resources.
423421
/// The connection is reference counted with the http_responses.
424422
/// </summary>
425-
~http_client() CPPREST_NOEXCEPT {}
423+
_ASYNCRTIMP ~http_client() CPPREST_NOEXCEPT;
426424

427425
/// <summary>
428426
/// Gets the base URI.
@@ -442,19 +440,14 @@ class http_client
442440
/// Adds an HTTP pipeline stage to the client.
443441
/// </summary>
444442
/// <param name="handler">A function object representing the pipeline stage.</param>
445-
void add_handler(const std::function<pplx::task<http_response>(http_request, std::shared_ptr<http::http_pipeline_stage>)> &handler)
446-
{
447-
m_pipeline->append(std::make_shared<::web::http::details::function_pipeline_wrapper>(handler));
448-
}
443+
_ASYNCRTIMP void add_handler(const std::function<pplx::task<http_response>(http_request, std::shared_ptr<http::http_pipeline_stage>)> &handler);
444+
449445

450446
/// <summary>
451447
/// Adds an HTTP pipeline stage to the client.
452448
/// </summary>
453449
/// <param name="stage">A shared pointer to a pipeline stage.</param>
454-
void add_handler(const std::shared_ptr<http::http_pipeline_stage> &stage)
455-
{
456-
m_pipeline->append(stage);
457-
}
450+
_ASYNCRTIMP void add_handler(const std::shared_ptr<http::http_pipeline_stage> &stage);
458451

459452
/// <summary>
460453
/// Asynchronously sends an HTTP request.
@@ -732,6 +725,13 @@ class http_client
732725
std::shared_ptr<::web::http::http_pipeline> m_pipeline;
733726
};
734727

728+
namespace details {
729+
#if defined(_WIN32)
730+
extern const utility::char_t * get_with_body_err_msg;
731+
#endif
732+
733+
}
734+
735735
}}}
736736

737737
#endif

Release/include/cpprest/http_headers.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,4 +328,18 @@ class http_headers
328328
std::map<utility::string_t, utility::string_t, _case_insensitive_cmp> m_headers;
329329
};
330330

331+
namespace details {
332+
333+
/// <summary>
334+
/// Serialize the http_headers into name:value pairs separated by a carriage return and line feed.
335+
/// </summary>
336+
utility::string_t flatten_http_headers(const http_headers &headers);
337+
#if defined(_WIN32)
338+
/// <summary>
339+
/// Parses a string containing Http headers.
340+
/// </summary>
341+
void parse_headers_string(_Inout_z_ utf16char *headersStr, http_headers &headers);
342+
#endif
343+
}
344+
331345
}}

Release/src/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ if (NOT CPPREST_EXCLUDE_WEBSOCKETS)
44
endif()
55

66
set(SOURCES_COMMON
7+
http/client/http_client.cpp
78
http/client/http_client_msg.cpp
89
http/client/x509_cert_utilities.cpp
910
http/common/http_helpers.cpp

Release/src/build/common.vcxitems

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
</ClCompile>
1616
</ItemDefinitionGroup>
1717
<ItemGroup>
18+
<ClCompile Include="$(MSBuildThisFileDirectory)..\http\client\http_client.cpp" />
1819
<ClCompile Include="$(MSBuildThisFileDirectory)..\http\client\http_client_msg.cpp" />
1920
<ClCompile Include="$(MSBuildThisFileDirectory)..\http\client\x509_cert_utilities.cpp" />
2021
<ClCompile Include="$(MSBuildThisFileDirectory)..\http\common\http_helpers.cpp" />
@@ -51,12 +52,11 @@
5152
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\basic_types.h" />
5253
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\cpprest_compat.h" />
5354
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\fileio.h" />
54-
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\http_client_impl.h" />
5555
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\http_helpers.h" />
5656
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\http_server.h" />
5757
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\http_server_api.h" />
5858
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\nosal.h" />
59-
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\resource.h" />
59+
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\resource.h" />
6060
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\SafeInt3.hpp" />
6161
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\uri_parser.h" />
6262
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\web_utilities.h" />
@@ -83,6 +83,7 @@
8383
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\pplx\pplxconv.h" />
8484
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\pplx\pplxinterface.h" />
8585
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\pplx\pplxtasks.h" />
86+
<ClInclude Include="$(MSBuildThisFileDirectory)..\http\client\http_client_impl.h" />
8687
<ClInclude Include="$(MSBuildThisFileDirectory)..\pch\stdafx.h" />
8788
</ItemGroup>
8889
<ItemGroup>

Release/src/build/common.vcxitems.filters

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@
6767
<ClCompile Include="$(MSBuildThisFileDirectory)..\websockets\client\ws_client.cpp">
6868
<Filter>Source Files</Filter>
6969
</ClCompile>
70+
<ClCompile Include="$(MSBuildThisFileDirectory)..\http\client\http_client.cpp">
71+
<Filter>Source Files</Filter>
72+
</ClCompile>
7073
</ItemGroup>
7174
<ItemGroup>
7275
<Filter Include="Source Files">
@@ -87,6 +90,9 @@
8790
<Filter Include="Header Files\pplx">
8891
<UniqueIdentifier>{1c12997c-5bf5-4b60-853e-a5f9c8303760}</UniqueIdentifier>
8992
</Filter>
93+
<Filter Include="Header Files\private">
94+
<UniqueIdentifier>{97da7aee-41c8-4948-bb0e-c31cec1bfb16}</UniqueIdentifier>
95+
</Filter>
9096
</ItemGroup>
9197
<ItemGroup>
9298
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\astreambuf.h">
@@ -152,9 +158,6 @@
152158
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\fileio.h">
153159
<Filter>Header Files\cpprest\details</Filter>
154160
</ClInclude>
155-
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\http_client_impl.h">
156-
<Filter>Header Files\cpprest\details</Filter>
157-
</ClInclude>
158161
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\http_helpers.h">
159162
<Filter>Header Files\cpprest\details</Filter>
160163
</ClInclude>
@@ -209,6 +212,9 @@
209212
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\resource.h">
210213
<Filter>Header Files\cpprest\details</Filter>
211214
</ClInclude>
215+
<ClInclude Include="$(MSBuildThisFileDirectory)..\http\client\http_client_impl.h">
216+
<Filter>Header Files\private</Filter>
217+
</ClInclude>
212218
</ItemGroup>
213219
<ItemGroup>
214220
<None Include="$(MSBuildThisFileDirectory)..\..\include\cpprest\details\http_constants.dat">

0 commit comments

Comments
 (0)