Skip to content

Commit

Permalink
chore: takes non mutable references
Browse files Browse the repository at this point in the history
  • Loading branch information
tejmagar committed Jun 8, 2024
1 parent ab18077 commit 6594e5d
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 12 deletions.
4 changes: 2 additions & 2 deletions src/core/parser/multipart.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ pub struct MultipartParser {
}

impl MultipartParser {
pub fn from(stream: Arc<Stream>, headers: &mut Headers,
pub fn from(stream: Arc<Stream>, headers: &Headers,
form_constraints: Arc<FormConstraints>) -> std::io::Result<Self> {
let content_type;
if let Some(value) = headers.value("content-type") {
Expand All @@ -58,7 +58,7 @@ impl MultipartParser {
}

pub async fn parse(stream: Arc<Stream>, form_constraints: Arc<FormConstraints>,
headers: &mut Headers) -> Result<(FormData, Files), FormFieldError> {
headers: &Headers) -> Result<(FormData, Files), FormFieldError> {
let mut parser = match MultipartParser::from(stream, headers,
form_constraints) {
Ok(parser) => parser,
Expand Down
4 changes: 2 additions & 2 deletions src/core/parser/urlencoded.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ pub struct UrlEncodedParser {
}

impl UrlEncodedParser {
pub fn from(stream: Arc<Stream>, headers: &mut Headers,
pub fn from(stream: Arc<Stream>, headers: &Headers,
form_constraints: Arc<FormConstraints>) -> Result<UrlEncodedParser, FormFieldError> {
let content_length;
if let Some(value) = headers.value("Content-Length") {
Expand Down Expand Up @@ -66,7 +66,7 @@ impl UrlEncodedParser {
}
}

pub async fn parse(stream: Arc<Stream>, headers: &mut Headers, form_constraints: Arc<FormConstraints>)
pub async fn parse(stream: Arc<Stream>, headers: &Headers, form_constraints: Arc<FormConstraints>)
-> Result<FormData, FormFieldError> {
let parser = UrlEncodedParser::from(stream, headers, form_constraints)?;
let params = parser.query_params().await?;
Expand Down
17 changes: 9 additions & 8 deletions src/core/request/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use std::collections::HashMap;
use std::sync::atomic::AtomicBool;
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;
use std::time::Duration;

Expand Down Expand Up @@ -105,11 +105,11 @@ impl Request {
self.context.downcast_ref::<T>()
}

pub async fn parse(&mut self) -> (FormData, Files) {
pub async fn parse(&self) -> (FormData, Files) {
self.parse_body(self.form_constraints.clone()).await
}

async fn parse_body(&mut self, form_constraints: Arc<FormConstraints>) -> (FormData, Files) {
async fn parse_body(&self, form_constraints: Arc<FormConstraints>) -> (FormData, Files) {
let form_data = FormData::new();
let files = Files::new();

Expand All @@ -121,7 +121,8 @@ impl Request {
return (form_data, files);
}

self.body_read = Arc::from(AtomicBool::from(false));
let body_read = self.body_read.clone();
body_read.store(false, Ordering::Relaxed);

if content_type
.to_lowercase()
Expand All @@ -132,12 +133,12 @@ impl Request {
return match MultipartParser::parse(
self.stream.clone(),
form_constraints,
&mut self.headers,
&self.headers,
)
.await
{
Ok((form_data, files)) => {
self.body_read = Arc::from(AtomicBool::from(true));
self.body_read.store(true, Ordering::Relaxed);
(form_data, files)
}
Err(error) => {
Expand All @@ -152,13 +153,13 @@ impl Request {
racoon_debug!("Parsing with UrlEncoded parser.");
return match UrlEncodedParser::parse(
self.stream.clone(),
&mut self.headers,
&self.headers,
form_constraints,
)
.await
{
Ok(form_data) => {
self.body_read = Arc::from(AtomicBool::from(true));
self.body_read.store(true, Ordering::Relaxed);
(form_data, files)
}
Err(error) => {
Expand Down

0 comments on commit 6594e5d

Please sign in to comment.