mirror of
https://github.com/Relintai/rcpp_framework.git
synced 2025-05-06 17:51:36 +02:00
Request handling.
This commit is contained in:
parent
47f9e21a91
commit
f03b983de2
@ -23,6 +23,10 @@ void DRequest::compile_body() {
|
|||||||
"</html>";
|
"</html>";
|
||||||
|
|
||||||
response->setBody(compiled_body);
|
response->setBody(compiled_body);
|
||||||
|
|
||||||
|
//request->response->setBody("<p>Hello, world!</p>");
|
||||||
|
//request->response->setExpiredTime(0);
|
||||||
|
//request->callback(request->response);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DRequest::compile_and_send_body() {
|
void DRequest::compile_and_send_body() {
|
||||||
@ -47,23 +51,9 @@ void DRequest::send() {
|
|||||||
// return;
|
// return;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
/*
|
//response->setExpiredTime(0);
|
||||||
if (http_parser->isKeepAlive()) {
|
callback(response);
|
||||||
response->addHeadValue("Connection", "Keep-Alive");
|
|
||||||
|
|
||||||
std::string result = response->getResult();
|
|
||||||
|
|
||||||
session->send(result.c_str(), result.size());
|
|
||||||
} else {
|
|
||||||
response->addHeadValue("Connection", "Close");
|
|
||||||
|
|
||||||
std::string result = response->getResult();
|
|
||||||
|
|
||||||
HttpSession::Ptr lsession = session;
|
|
||||||
|
|
||||||
session->send(result.c_str(), result.size(), [lsession]() { lsession->postShutdown(); });
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
DRequestPool::return_request(this);
|
DRequestPool::return_request(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ class DRequest {
|
|||||||
public:
|
public:
|
||||||
HttpResponsePtr response;
|
HttpResponsePtr response;
|
||||||
HttpRequestImplPtr request;
|
HttpRequestImplPtr request;
|
||||||
std::function<void(const HttpResponsePtr &)> *callback;
|
std::function<void(const HttpResponsePtr &)> callback;
|
||||||
|
|
||||||
DWebApplication *application;
|
DWebApplication *application;
|
||||||
|
|
||||||
|
@ -88,19 +88,19 @@ void DWebApplication::default_404_error_handler(int error_code, DRequest *reques
|
|||||||
}
|
}
|
||||||
|
|
||||||
void DWebApplication::handle_request(DRequest *request) {
|
void DWebApplication::handle_request(DRequest *request) {
|
||||||
//request->middleware_stack = &middlewares;
|
request->middleware_stack = &middlewares;
|
||||||
|
|
||||||
//note that middlewares handle the routing -> DWebApplication::default_routing_middleware by default
|
//note that middlewares handle the routing -> DWebApplication::default_routing_middleware by default
|
||||||
//request->next_stage();
|
request->next_stage();
|
||||||
|
|
||||||
//auto resp = HttpResponse::newHttpResponse();
|
//auto resp = HttpResponse::newHttpResponse();
|
||||||
//resp->setBody("<p>Hello, world!</p>");
|
//resp->setBody("<p>Hello, world!</p>");
|
||||||
//resp->setExpiredTime(0);
|
//resp->setExpiredTime(0);
|
||||||
//callback(resp);
|
//callback(resp);
|
||||||
|
|
||||||
request->response->setBody("<p>Hello, world!</p>");
|
//request->response->setBody("<p>Hello, world!</p>");
|
||||||
request->response->setExpiredTime(0);
|
//request->response->setExpiredTime(0);
|
||||||
request->callback->operator()(request->response);
|
//request->callback(request->response);
|
||||||
|
|
||||||
DRequestPool::return_request(request);
|
DRequestPool::return_request(request);
|
||||||
}
|
}
|
||||||
@ -658,7 +658,7 @@ void DWebApplication::on_async_request(const HttpRequestImplPtr &req, std::funct
|
|||||||
request->application = this;
|
request->application = this;
|
||||||
request->response = HttpResponse::newHttpResponse();
|
request->response = HttpResponse::newHttpResponse();
|
||||||
request->request = std::shared_ptr<drogon::HttpRequestImpl>(req);
|
request->request = std::shared_ptr<drogon::HttpRequestImpl>(req);
|
||||||
request->callback = &callback;//std::move(callback);
|
request->callback = callback;//std::move(callback);
|
||||||
|
|
||||||
request->setup_url_stack();
|
request->setup_url_stack();
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#ifndef DWEB_APPLICATION_H
|
#ifndef DWEB_APPLICATION_H
|
||||||
#define WEB_APPLICATION_H
|
#define DWEB_APPLICATION_H
|
||||||
|
|
||||||
#include "core/object.h"
|
#include "core/object.h"
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
Loading…
Reference in New Issue
Block a user