46 #include "PltVersion.h" 51 #if !defined(PLT_HTTP_DEFAULT_USER_AGENT) 52 #define PLT_HTTP_DEFAULT_USER_AGENT "UPnP/1.0 DLNADOC/1.50 Platinum/" PLT_PLATINUM_SDK_VERSION_STRING 55 #if !defined(PLT_HTTP_DEFAULT_SERVER) 56 #define PLT_HTTP_DEFAULT_SERVER "UPnP/1.0 DLNADOC/1.50 Platinum/" PLT_PLATINUM_SDK_VERSION_STRING 72 } PLT_DeviceSignature;
87 static NPT_Result GetContentLength(
const NPT_HttpMessage& message, NPT_LargeSize& len);
91 static PLT_DeviceSignature GetDeviceSignature(
const NPT_HttpRequest& request);
100 static void SetBasicAuthorization(
NPT_HttpRequest& request,
const char* username,
const char* password);
115 m_Request(request) {}
118 m_Request(request) {}
122 PLT_DeviceSignature GetDeviceSignature() {
return PLT_HttpHelper::GetDeviceSignature(m_Request); }
138 m_Stream->WriteString(header->GetName());
139 m_Stream->Write(
": ", 2);
140 m_Stream->WriteString(header->GetValue());
141 m_Stream->Write(
"\r\n", 2, NULL);
153 #if defined(NPT_CONFIG_ENABLE_LOGGING) 154 #define PLT_LOG_HTTP_REQUEST_L(_logger, _level, _prefix, _request) \ 156 if (!_request) break; \ 157 NPT_LOG_GET_LOGGER((_logger)) \ 158 if ((_logger).logger && (_level) >= (_logger).logger->GetLevel()) { \ 159 NPT_StringOutputStreamReference stream(new NPT_StringOutputStream); \ 160 NPT_OutputStreamReference output = stream; \ 161 _request->GetHeaders().GetHeaders().Apply(NPT_HttpHeaderPrinter(output)); \ 162 NPT_LOG_X((_logger),(_level),((_level),__FILE__,__LINE__,(NPT_LocalFunctionName),"%s\n%s %s %s\n%s", (const char*)_prefix, (const char*)_request->GetMethod(), (const char*)_request->GetUrl().ToRequestString(true), (const char*)_request->GetProtocol(), (const char*)stream->GetString())); \ 166 #define PLT_LOG_HTTP_RESPONSE_L(_logger, _level, _prefix, _response) \ 168 if (!_response) break; \ 169 NPT_LOG_GET_LOGGER((_logger)) \ 170 if ((_logger).logger && (_level) >= (_logger).logger->GetLevel()) { \ 171 NPT_StringOutputStreamReference stream(new NPT_StringOutputStream); \ 172 NPT_OutputStreamReference output = stream; \ 173 _response->GetHeaders().GetHeaders().Apply(NPT_HttpHeaderPrinter(output)); \ 174 NPT_LOG_X((_logger),(_level),((_level),__FILE__,__LINE__,(NPT_LocalFunctionName),"%s\n%s %d %s\n%s", (const char*)_prefix, (const char*)_response->GetProtocol(), _response->GetStatusCode(), (const char*)_response->GetReasonPhrase(), (const char*)stream->GetString())); \ 178 #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request)) 180 #define PLT_LOG_HTTP_RESPONSE(_level,_prefix,_response) PLT_LOG_HTTP_RESPONSE_L(_NPT_LocalLogger,(_level),(_prefix),(_response)) 183 #define PLT_LOG_HTTP_REQUEST_L(_logger, _level, _prefix, _request) 184 #define PLT_LOG_HTTP_RESPONSE_L(_logger, _level, _prefix, _response) 185 #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) 186 #define PLT_LOG_HTTP_RESPONSE(_level,_prefix,_response) 200 m_Delegate(delegate) {}
207 return m_Delegate->SetupResponse(request, context, response);
Definition: NptHttp.h:566
Definition: NptHttp.h:200
Definition: NptHttp.h:315
Definition: NptHttp.h:282
Definition: NptHttp.h:241
Definition: NptHttp.h:593
The PLT_HttpHelper class is a set of utility functions for manipulating HTTP headers, entities and messages.
Definition: PltHttp.h:81
The PLT_HttpRequestContext class holds information about the request sent, the local & remote ip addr...
Definition: PltHttp.h:111
Definition: NptStrings.h:57
The PLT_HttpRequestHandler class delegates the handling of the response of a received HTTP request by...
Definition: PltHttp.h:196