diff --git a/ApacheConnector/include/ApacheConnector.h b/ApacheConnector/include/ApacheConnector.h index 5e7b095a7..55a6cf3f3 100644 --- a/ApacheConnector/include/ApacheConnector.h +++ b/ApacheConnector/include/ApacheConnector.h @@ -62,6 +62,9 @@ public: /// is used, or if it is not known whether a secure /// connection is used. + void setStatus(int status); + /// Set specific HTTP status code for the request. + private: request_rec* _pRec; }; diff --git a/ApacheConnector/src/ApacheConnector.cpp b/ApacheConnector/src/ApacheConnector.cpp index d6d020dc1..ac5e0cd87 100644 --- a/ApacheConnector/src/ApacheConnector.cpp +++ b/ApacheConnector/src/ApacheConnector.cpp @@ -137,6 +137,12 @@ bool ApacheRequestRec::secure() } +void ApacheRequestRec::setStatus(int status) +{ + _pRec->status = status; +} + + void ApacheRequestRec::copyHeaders(ApacheServerRequest& request) { const apr_array_header_t* arr = apr_table_elts(_pRec->headers_in); diff --git a/ApacheConnector/src/ApacheServerResponse.cpp b/ApacheConnector/src/ApacheServerResponse.cpp index a8a270cd1..ff2753528 100644 --- a/ApacheConnector/src/ApacheServerResponse.cpp +++ b/ApacheConnector/src/ApacheServerResponse.cpp @@ -47,6 +47,9 @@ void ApacheServerResponse::initApacheOutputStream() _pApacheRequest->setContentType(getContentType()); + int statusCode = static_cast::type>(getStatus()); + _pApacheRequest->setStatus(statusCode); + std::vector cookies; getCookies(cookies);