removed picoserve feature
it is outside of the scope of this crate
This commit is contained in:
54
src/lib.rs
54
src/lib.rs
@@ -1,4 +1,4 @@
|
||||
use mime::{Mime};
|
||||
use mime::Mime;
|
||||
use proc_macro::TokenStream;
|
||||
use quote::quote;
|
||||
use syn::spanned::Spanned;
|
||||
@@ -76,13 +76,6 @@ pub fn embed(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
|
||||
EmbedMode::BytesMime => generate_mime_impl(struct_name, match_arms),
|
||||
};
|
||||
|
||||
#[cfg(feature = "picoserve")]
|
||||
{
|
||||
if matches!(mode,EmbedMode::BytesMime) {
|
||||
expanded.extend(generate_picoserv_impl(struct_name));
|
||||
}
|
||||
}
|
||||
|
||||
proc_macro::TokenStream::from(expanded)
|
||||
}
|
||||
|
||||
@@ -208,48 +201,3 @@ fn generate_mime_impl(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "picoserve")]
|
||||
fn generate_picoserv_impl(struct_name: &Ident) -> proc_macro2::TokenStream {
|
||||
quote! {
|
||||
impl<State, CurrentPathParameters> picoserve::routing::PathRouterService<State, CurrentPathParameters> for #struct_name {
|
||||
async fn call_request_handler_service<
|
||||
R: picoserve::io::embedded_io_async::Read,
|
||||
W: picoserve::response::ResponseWriter<Error = R::Error>,
|
||||
>(
|
||||
&self,
|
||||
state: &State,
|
||||
current_path_parameters: CurrentPathParameters,
|
||||
path: picoserve::request::Path<'_>,
|
||||
request: picoserve::request::Request<'_, R>,
|
||||
response_writer: W,
|
||||
) -> Result<picoserve::ResponseSent, W::Error> {
|
||||
let requested_path = path.encoded();
|
||||
|
||||
let requested_file = if requested_path.is_empty() {
|
||||
Self::get("index.html")
|
||||
} else if let Some(striped_path) = requested_path.strip_prefix("/") {
|
||||
Self::get(striped_path)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
match requested_file {
|
||||
Some(content) => {
|
||||
let response =
|
||||
picoserve::response::Response::new(picoserve::response::StatusCode::OK, content.0);
|
||||
|
||||
|
||||
response_writer
|
||||
.write_response(request.body_connection.finalize().await.unwrap(), response)
|
||||
.await
|
||||
}
|
||||
None => {
|
||||
use picoserve::routing::PathRouter;
|
||||
picoserve::routing::NotFound.call_path_router(state,current_path_parameters,path,request,response_writer).await
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user