1
0
mirror of https://github.com/fafhrd91/actix-web synced 2025-08-19 04:15:38 +02:00

use a non leak pool for HttpRequestInner (#1889)

Co-authored-by: Rob Ede <robjtede@icloud.com>
This commit is contained in:
fakeshadow
2021-01-11 06:59:44 +08:00
committed by GitHub
parent 9e401b6ef7
commit 46b2f7eaaf
5 changed files with 144 additions and 81 deletions

View File

@@ -27,10 +27,10 @@ use socket2::{Domain, Protocol, Socket, Type};
pub use actix_http::test::TestBuffer;
use crate::app_service::AppInitServiceState;
use crate::config::AppConfig;
use crate::data::Data;
use crate::dev::{Body, MessageBody, Payload, Server};
use crate::request::HttpRequestPool;
use crate::rmap::ResourceMap;
use crate::service::{ServiceRequest, ServiceResponse};
use crate::{Error, HttpRequest, HttpResponse};
@@ -542,14 +542,15 @@ impl TestRequest {
head.peer_addr = self.peer_addr;
self.path.get_mut().update(&head.uri);
let app_state =
AppInitServiceState::new(Rc::new(self.rmap), self.config.clone());
ServiceRequest::new(HttpRequest::new(
self.path,
head,
payload,
Rc::new(self.rmap),
self.config.clone(),
app_state,
Rc::new(self.app_data),
HttpRequestPool::create(),
))
}
@@ -564,15 +565,10 @@ impl TestRequest {
head.peer_addr = self.peer_addr;
self.path.get_mut().update(&head.uri);
HttpRequest::new(
self.path,
head,
payload,
Rc::new(self.rmap),
self.config.clone(),
Rc::new(self.app_data),
HttpRequestPool::create(),
)
let app_state =
AppInitServiceState::new(Rc::new(self.rmap), self.config.clone());
HttpRequest::new(self.path, head, payload, app_state, Rc::new(self.app_data))
}
/// Complete request creation and generate `HttpRequest` and `Payload` instances
@@ -581,14 +577,15 @@ impl TestRequest {
head.peer_addr = self.peer_addr;
self.path.get_mut().update(&head.uri);
let app_state =
AppInitServiceState::new(Rc::new(self.rmap), self.config.clone());
let req = HttpRequest::new(
self.path,
head,
Payload::None,
Rc::new(self.rmap),
self.config.clone(),
app_state,
Rc::new(self.app_data),
HttpRequestPool::create(),
);
(req, payload)