mirror of
https://github.com/leptos-rs/leptos
synced 2024-11-10 06:44:17 +00:00
0.6.0
Signed-off-by: benwis <ben@celcyon.com>
This commit is contained in:
parent
b367b68a43
commit
ac12e1a411
6 changed files with 80 additions and 18 deletions
26
Cargo.toml
26
Cargo.toml
|
@ -25,22 +25,22 @@ members = [
|
||||||
exclude = ["benchmarks", "examples"]
|
exclude = ["benchmarks", "examples"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.6.0-rc1"
|
version = "0.6.0"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
leptos = { path = "./leptos", version = "0.6.0-rc1" }
|
leptos = { path = "./leptos", version = "0.6.0" }
|
||||||
leptos_dom = { path = "./leptos_dom", version = "0.6.0-rc1" }
|
leptos_dom = { path = "./leptos_dom", version = "0.6.0" }
|
||||||
leptos_hot_reload = { path = "./leptos_hot_reload", version = "0.6.0-rc1" }
|
leptos_hot_reload = { path = "./leptos_hot_reload", version = "0.6.0" }
|
||||||
leptos_macro = { path = "./leptos_macro", version = "0.6.0-rc1" }
|
leptos_macro = { path = "./leptos_macro", version = "0.6.0" }
|
||||||
leptos_reactive = { path = "./leptos_reactive", version = "0.6.0-rc1" }
|
leptos_reactive = { path = "./leptos_reactive", version = "0.6.0" }
|
||||||
leptos_server = { path = "./leptos_server", version = "0.6.0-rc1" }
|
leptos_server = { path = "./leptos_server", version = "0.6.0" }
|
||||||
server_fn = { path = "./server_fn", version = "0.6.0-rc1" }
|
server_fn = { path = "./server_fn", version = "0.6.0" }
|
||||||
server_fn_macro = { path = "./server_fn_macro", version = "0.6.0-rc1" }
|
server_fn_macro = { path = "./server_fn_macro", version = "0.6.0" }
|
||||||
server_fn_macro_default = { path = "./server_fn/server_fn_macro_default", version = "0.6" }
|
server_fn_macro_default = { path = "./server_fn/server_fn_macro_default", version = "0.6" }
|
||||||
leptos_config = { path = "./leptos_config", version = "0.6.0-rc1" }
|
leptos_config = { path = "./leptos_config", version = "0.6.0" }
|
||||||
leptos_router = { path = "./router", version = "0.6.0-rc1" }
|
leptos_router = { path = "./router", version = "0.6.0" }
|
||||||
leptos_meta = { path = "./meta", version = "0.6.0-rc1" }
|
leptos_meta = { path = "./meta", version = "0.6.0" }
|
||||||
leptos_integration_utils = { path = "./integrations/utils", version = "0.6.0-rc1" }
|
leptos_integration_utils = { path = "./integrations/utils", version = "0.6.0" }
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
codegen-units = 1
|
codegen-units = 1
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
//! To run in this environment, you need to disable the default feature set and enable
|
//! To run in this environment, you need to disable the default feature set and enable
|
||||||
//! the `wasm` feature on `leptos_axum` in your `Cargo.toml`.
|
//! the `wasm` feature on `leptos_axum` in your `Cargo.toml`.
|
||||||
//! ```toml
|
//! ```toml
|
||||||
//! leptos_axum = { version = "0.6.0-rc1", default-features = false, features = ["wasm"] }
|
//! leptos_axum = { version = "0.6.0", default-features = false, features = ["wasm"] }
|
||||||
//! ```
|
//! ```
|
||||||
//!
|
//!
|
||||||
//! ## Features
|
//! ## Features
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "leptos_meta"
|
name = "leptos_meta"
|
||||||
version = "0.6.0-rc1"
|
version = "0.6.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Greg Johnston"]
|
authors = ["Greg Johnston"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "leptos_router"
|
name = "leptos_router"
|
||||||
version = "0.6.0-rc1"
|
version = "0.6.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Greg Johnston"]
|
authors = ["Greg Johnston"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
name = "server_fn"
|
name = "server_fn"
|
||||||
version = { workspace = true }
|
version = { workspace = true }
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Greg Johnston"]
|
authors = ["Greg Johnston", "Ben Wishovich"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://github.com/leptos-rs/leptos"
|
repository = "https://github.com/leptos-rs/leptos"
|
||||||
description = "RPC for any web framework."
|
description = "RPC for any web framework."
|
||||||
readme = "../README.md"
|
readme = "../README.md"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
server_fn_macro_default = "0.6.0-rc1"
|
server_fn_macro_default = "0.6.0"
|
||||||
# used for hashing paths in #[server] macro
|
# used for hashing paths in #[server] macro
|
||||||
const_format = "0.2"
|
const_format = "0.2"
|
||||||
xxhash-rust = { version = "0.8", features = ["const_xxh64"] }
|
xxhash-rust = { version = "0.8", features = ["const_xxh64"] }
|
||||||
|
|
62
server_fn/src/request/spin.rs
Normal file
62
server_fn/src/request/spin.rs
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
use crate::{error::ServerFnError, request::Req};
|
||||||
|
use axum::body::{Body, Bytes};
|
||||||
|
use futures::{Stream, StreamExt};
|
||||||
|
use http::{
|
||||||
|
header::{ACCEPT, CONTENT_TYPE, REFERER},
|
||||||
|
Request,
|
||||||
|
};
|
||||||
|
use http_body_util::BodyExt;
|
||||||
|
use std::borrow::Cow;
|
||||||
|
|
||||||
|
impl<CustErr> Req<CustErr> for IncomingRequest
|
||||||
|
where
|
||||||
|
CustErr: 'static,
|
||||||
|
{
|
||||||
|
fn as_query(&self) -> Option<&str> {
|
||||||
|
self.uri().query()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn to_content_type(&self) -> Option<Cow<'_, str>> {
|
||||||
|
self.headers()
|
||||||
|
.get(CONTENT_TYPE)
|
||||||
|
.map(|h| String::from_utf8_lossy(h.as_bytes()))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn accepts(&self) -> Option<Cow<'_, str>> {
|
||||||
|
self.headers()
|
||||||
|
.get(ACCEPT)
|
||||||
|
.map(|h| String::from_utf8_lossy(h.as_bytes()))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn referer(&self) -> Option<Cow<'_, str>> {
|
||||||
|
self.headers()
|
||||||
|
.get(REFERER)
|
||||||
|
.map(|h| String::from_utf8_lossy(h.as_bytes()))
|
||||||
|
}
|
||||||
|
|
||||||
|
async fn try_into_bytes(self) -> Result<Bytes, ServerFnError<CustErr>> {
|
||||||
|
let (_parts, body) = self.into_parts();
|
||||||
|
|
||||||
|
body.collect()
|
||||||
|
.await
|
||||||
|
.map(|c| c.to_bytes())
|
||||||
|
.map_err(|e| ServerFnError::Deserialization(e.to_string()))
|
||||||
|
}
|
||||||
|
|
||||||
|
async fn try_into_string(self) -> Result<String, ServerFnError<CustErr>> {
|
||||||
|
let bytes = self.try_into_bytes().await?;
|
||||||
|
String::from_utf8(bytes.to_vec())
|
||||||
|
.map_err(|e| ServerFnError::Deserialization(e.to_string()))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn try_into_stream(
|
||||||
|
self,
|
||||||
|
) -> Result<
|
||||||
|
impl Stream<Item = Result<Bytes, ServerFnError>> + Send + 'static,
|
||||||
|
ServerFnError<CustErr>,
|
||||||
|
> {
|
||||||
|
Ok(self.into_body().into_data_stream().map(|chunk| {
|
||||||
|
chunk.map_err(|e| ServerFnError::Deserialization(e.to_string()))
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue