Skip to content

Commit 02755b5

Browse files
committed
Integration from TFS - preparation for 1.4 release
1 parent e96076f commit 02755b5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+4298
-5378
lines changed

Build/version.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<PropertyGroup>
44
<CppRestBaseFileName>cpprest</CppRestBaseFileName>
55
<CppRestSDKVersionMajor>1</CppRestSDKVersionMajor>
6-
<CppRestSDKVersionMinor>3</CppRestSDKVersionMinor>
7-
<CppRestSDKVersionRevision>1</CppRestSDKVersionRevision>
6+
<CppRestSDKVersionMinor>4</CppRestSDKVersionMinor>
7+
<CppRestSDKVersionRevision>0</CppRestSDKVersionRevision>
88
<CppRestSDKVersionFileSuffix>$(CppRestSDKVersionMajor)_$(CppRestSDKVersionMinor)</CppRestSDKVersionFileSuffix>
99
<CppRestSDKVersionString>$(CppRestSDKVersionMajor).$(CppRestSDKVersionMinor)</CppRestSDKVersionString>
1010
</PropertyGroup>

Release/include/cpprest/asyncrt_utils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ class datetime
391391

392392
#ifdef _MS_WINDOWS
393393
// void* to avoid pulling in windows.h
394-
static _ASYNCRTIMP bool __cdecl datetime::system_type_to_datetime(/*SYSTEMTIME*/ void* psysTime, double seconds, datetime * pdt);
394+
static _ASYNCRTIMP bool __cdecl datetime::system_type_to_datetime(/*SYSTEMTIME*/ void* psysTime, uint64_t seconds, datetime * pdt);
395395
#else
396396
static datetime timeval_to_datetime(struct timeval time);
397397
#endif

Release/include/cpprest/filelog.h

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

Release/include/cpprest/http_client_impl.h

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ namespace web { namespace http { namespace client { namespace details
107107
utility::string_t value = header_line.substr(colonIndex + 1, header_line.length() - colonIndex - 1);
108108
http::details::trim_whitespace(key);
109109
http::details::trim_whitespace(value);
110-
headers[key] = value;
110+
headers.add(key, value);
111111
}
112112
line = wcstok_s(nullptr, CRLF, &context);
113113
}
@@ -145,20 +145,8 @@ namespace web { namespace http { namespace client { namespace details
145145
m_response._get_impl()->_complete(body_size);
146146

147147
finish();
148-
149-
delete this;
150-
}
151-
152-
#ifdef _MS_WINDOWS
153-
// Helper function to report an error, set task completion event, and close the request handle.
154-
155-
void report_error(const utility::string_t & errorMessage)
156-
{
157-
report_exception(http_exception(errorMessage));
158148
}
159149

160-
#endif
161-
162150
void report_error(unsigned long error_code, const utility::string_t & errorMessage)
163151
{
164152
m_response.set_error_code(error_code);
@@ -193,8 +181,6 @@ namespace web { namespace http { namespace client { namespace details
193181
}
194182

195183
finish();
196-
197-
delete this;
198184
}
199185

200186
concurrency::streams::streambuf<uint8_t> _get_readbuffer()
@@ -257,7 +243,7 @@ namespace web { namespace http { namespace client { namespace details
257243
responseImpl->_prepare_to_receive_data();
258244
}
259245

260-
void finish();
246+
virtual void finish();
261247
};
262248

263249
//
@@ -272,7 +258,7 @@ namespace web { namespace http { namespace client { namespace details
272258
virtual ~_http_client_communicator() {}
273259

274260
// Asychronously send a HTTP request and process the response.
275-
void async_send_request(request_context *request)
261+
void async_send_request(std::shared_ptr<request_context> request)
276262
{
277263
if(m_client_config.guarantee_order())
278264
{
@@ -297,7 +283,7 @@ namespace web { namespace http { namespace client { namespace details
297283

298284
if( !m_requests_queue.empty())
299285
{
300-
request_context *request = m_requests_queue.front();
286+
auto request = m_requests_queue.front();
301287
m_requests_queue.pop();
302288

303289
// Schedule a task to start sending.
@@ -323,7 +309,7 @@ namespace web { namespace http { namespace client { namespace details
323309
virtual unsigned long open() = 0;
324310

325311
// HTTP client implementations must implement send_request.
326-
virtual void send_request(_In_ request_context *request) = 0;
312+
virtual void send_request(_In_ std::shared_ptr<request_context> request) = 0;
327313

328314
// URI to connect to.
329315
const http::uri m_uri;
@@ -337,10 +323,11 @@ namespace web { namespace http { namespace client { namespace details
337323
pplx::extensibility::critical_section_t m_open_lock;
338324

339325
// Wraps opening the client around sending a request.
340-
void open_and_send_request(request_context *request)
326+
void open_and_send_request(std::shared_ptr<request_context> request)
341327
{
342328
// First see if client needs to be opened.
343329
auto error = open_if_required();
330+
344331
if (error != S_OK)
345332
{
346333
// Failed to open
@@ -367,6 +354,7 @@ namespace web { namespace http { namespace client { namespace details
367354
if ( !m_opened )
368355
{
369356
error = open();
357+
370358
if (error == S_OK)
371359
{
372360
m_opened = true;
@@ -377,7 +365,7 @@ namespace web { namespace http { namespace client { namespace details
377365
return error;
378366
}
379367

380-
void push_request(_In_opt_ request_context *request)
368+
void push_request(_In_opt_ std::shared_ptr<request_context> request)
381369
{
382370
if (request == nullptr) return;
383371

@@ -398,7 +386,7 @@ namespace web { namespace http { namespace client { namespace details
398386
}
399387

400388
// Queue used to guarantee ordering of requests, when appliable.
401-
std::queue<request_context *> m_requests_queue;
389+
std::queue<std::shared_ptr<request_context>> m_requests_queue;
402390
int m_scheduled;
403391
};
404392

0 commit comments

Comments
 (0)