Skip to content

Commit 70926d1

Browse files
committed
add generic from body conversion for Response
1 parent 099e419 commit 70926d1

File tree

2 files changed

+10
-42
lines changed

2 files changed

+10
-42
lines changed

src/body.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,6 @@ impl<'a> From<&'a [u8]> for Body {
234234
}
235235
}
236236

237-
impl From<()> for Body {
238-
fn from(_: ()) -> Self {
239-
Self::empty()
240-
}
241-
}
242-
243237
impl Read for Body {
244238
#[allow(missing_doc_code_examples)]
245239
fn poll_read(

src/response.rs

Lines changed: 10 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -491,56 +491,30 @@ impl AsMut<Headers> for Response {
491491
}
492492
}
493493

494-
impl From<Response> for Body {
495-
fn from(res: Response) -> Body {
496-
res.body
497-
}
498-
}
499-
500494
impl From<()> for Response {
501495
fn from(_: ()) -> Self {
502496
Response::new(StatusCode::NoContent)
503497
}
504498
}
505499

506-
impl From<String> for Response {
507-
fn from(s: String) -> Self {
508-
let mut res = Response::new(StatusCode::Ok);
509-
res.set_body(s);
510-
res
511-
}
512-
}
513-
514-
impl<'a> From<&'a str> for Response {
515-
fn from(s: &'a str) -> Self {
516-
let mut res = Response::new(StatusCode::Ok);
517-
res.set_body(s);
518-
res
519-
}
520-
}
521-
522-
impl From<Vec<u8>> for Response {
523-
fn from(b: Vec<u8>) -> Self {
524-
let mut res = Response::new(StatusCode::Ok);
525-
res.set_body(b);
526-
res
500+
impl From<StatusCode> for Response {
501+
fn from(s: StatusCode) -> Self {
502+
Response::new(s)
527503
}
528504
}
529505

530-
impl<'a> From<&'a [u8]> for Response {
531-
fn from(b: &'a [u8]) -> Self {
506+
impl<T> From<T> for Response
507+
where
508+
T: Into<Body>,
509+
{
510+
fn from(value: T) -> Self {
511+
let body: Body = value.into();
532512
let mut res = Response::new(StatusCode::Ok);
533-
res.set_body(b);
513+
res.set_body(body);
534514
res
535515
}
536516
}
537517

538-
impl From<StatusCode> for Response {
539-
fn from(s: StatusCode) -> Self {
540-
Response::new(s)
541-
}
542-
}
543-
544518
impl IntoIterator for Response {
545519
type Item = (HeaderName, Vec<HeaderValue>);
546520
type IntoIter = headers::IntoIter;

0 commit comments

Comments
 (0)