|
@@ -4,7 +4,9 @@ static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
|
|
|
use std::sync::Arc;
|
|
|
use std::thread::available_parallelism;
|
|
|
|
|
|
+use bytes::BytesMut;
|
|
|
use salvo::http::header::{self, HeaderValue};
|
|
|
+use salvo::http::response::Body;
|
|
|
use salvo::prelude::*;
|
|
|
use serde::Serialize;
|
|
|
|
|
@@ -17,19 +19,23 @@ pub struct Message {
|
|
|
}
|
|
|
|
|
|
#[fn_handler]
|
|
|
-async fn json(res: &mut Response) {
|
|
|
- res.headers_mut().insert(header::SERVER, HeaderValue::from_static("S"));
|
|
|
- res.render(Json(Message {
|
|
|
+fn json(res: &mut Response) {
|
|
|
+ let headers = res.headers_mut();
|
|
|
+ headers.insert(header::SERVER, HeaderValue::from_static("S"));
|
|
|
+ headers.insert(header::CONTENT_TYPE, HeaderValue::from_static("application/json"));
|
|
|
+ let data = serde_json::to_vec(&Message {
|
|
|
message: "Hello, World!",
|
|
|
- }));
|
|
|
+ })
|
|
|
+ .unwrap();
|
|
|
+ res.set_body(Body::Bytes(BytesMut::from(data.as_slice())));
|
|
|
}
|
|
|
|
|
|
#[fn_handler]
|
|
|
-async fn plaintext(res: &mut Response) {
|
|
|
- res.headers_mut().insert(header::SERVER, HeaderValue::from_static("S"));
|
|
|
- res.headers_mut()
|
|
|
- .insert(header::CONTENT_TYPE, HeaderValue::from_static("text/plain"));
|
|
|
- res.write_body(HELLO_WORLD).ok();
|
|
|
+fn plaintext(res: &mut Response) {
|
|
|
+ let headers = res.headers_mut();
|
|
|
+ headers.insert(header::SERVER, HeaderValue::from_static("S"));
|
|
|
+ headers.insert(header::CONTENT_TYPE, HeaderValue::from_static("text/plain"));
|
|
|
+ res.set_body(Body::Bytes(BytesMut::from(HELLO_WORLD)));
|
|
|
}
|
|
|
|
|
|
fn main() {
|