本文整理汇总了C++中poco::net::HTTPServerRequest::serverAddress方法的典型用法代码示例。如果您正苦于以下问题:C++ HTTPServerRequest::serverAddress方法的具体用法?C++ HTTPServerRequest::serverAddress怎么用?C++ HTTPServerRequest::serverAddress使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类poco::net::HTTPServerRequest
的用法示例。
在下文中一共展示了HTTPServerRequest::serverAddress方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleRequestImpl
void GetServiceHandler::handleRequestImpl(Poco::Net::HTTPServerRequest & httpRequest, Poco::Net::HTTPServerResponse & httpResponse) {
SOAP::CommonSoapPreprocessing soapHandling(_grammarProvider);
soapHandling.parse(httpRequest.stream());
const auto soapAction(soapHandling.normalizedMessage->Header().Action().get());
std::unique_ptr<SOAP::Command> command(new SOAP::SoapFaultCommand(httpResponse));
if (soapAction == DPWS::GetMetadataTraits::RequestAction()) {
const std::string serverAddress(httpRequest.serverAddress().toString());
command = std::unique_ptr<SOAP::Command>(new SOAP::GetMetadataActionCommand(std::move(soapHandling.normalizedMessage), _service.getMetadata(serverAddress)));
} else if (soapAction == GetMDIBTraits::RequestAction()) {
command = std::unique_ptr<SOAP::Command>(new SOAP::GenericSoapActionCommand<GetMDIBTraits>(std::move(soapHandling.normalizedMessage), _service));
} else if (soapAction == GetMDDescriptionTraits::RequestAction()) {
command = std::unique_ptr<SOAP::Command>(new SOAP::GenericSoapActionCommand<GetMDDescriptionTraits>(std::move(soapHandling.normalizedMessage), _service));
} else if (soapAction == GetMdStateTraits::RequestAction()) {
command = std::unique_ptr<SOAP::Command>(new SOAP::GenericSoapActionCommand<GetMdStateTraits>(std::move(soapHandling.normalizedMessage), _service));
} else {
log_error([&] { return "GetServiceHandler can't handle action: " + soapAction; });
}
std::unique_ptr<MESSAGEMODEL::Envelope> responseMessage(command->Run());
SOAP::SoapHTTPResponseWrapper response(httpResponse);
response.send(SOAP::NormalizedMessageSerializer::serialize(*responseMessage));
}