簡體   English   中英

如何處理POCO中的無效URI

[英]How do I handle invalid URI in POCO

我想在子類HTTPRequestHandlerFactory中的createRequestHandler(HTTPServerRequest& request)函數中處理無效的URI客戶端請求。

我想發送響應,指出URI無效,並帶有錯誤代碼

HTTP_NOT_FOUND(404)。

RequestHandler * RequestHandlerFactory::createRequestHandler(const Poco::Net::HTTPServerRequest& request)
{
  // -- handleRequest -- 

  if ( request.getURI() != ExpectedURI ) 
  {
    // How do I send response to client that the URI is invalid?
    // Example I need to send HTTP_NOT_FOUND 
  }
}
void sendErrorResponse(HTTPResponse::HTTPStatus status, const std::string& message)
{
    response().setStatusAndReason(status);
    std::string statusAndReason(NumberFormatter::format(static_cast<int>(response().getStatus())));
    statusAndReason += " - ";
    statusAndReason += response().getReason();
    std::string page("<HTML><HEAD><TITLE>");
    page += statusAndReason;
    page += "</TITLE></HEAD><BODY><H1>";
    page += statusAndReason;
    page += "</H1>";
    page += "<P>";
    page += message;
    page += "</P></BODY></HTML>";
    response().sendBuffer(page.data(), page.size());
}

if (request.getURI() != ExpectedURI) 
{
    sendErrorResponse(HTTPResponse::HTTP_NOT_FOUND, request.getURI());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM