1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// `FromRequest::from_request` and `FromRequestParts::from_request_parts` use the
// `fn(...) -> impl Future + Send + 'a` shape on purpose: the explicit `+ Send`
// bound is what lets handlers be hosted by the hyper service trait. Rewriting
// these as `async fn` would drop the bound.
//! Internal core for the Tako framework.
//!
//! This crate hosts the framework primitives shared across all Tako sub-crates:
//! routing, request/response types, body, middleware/plugin traits, extractor
//! traits, state, signals, queue, and a few cross-cutting features such as
//! `graphql`, `grpc`, and `openapi` that interact tightly with the router.
//!
//! Concrete extractors live in `tako-extractors`, server bootstrap code in
//! `tako-server`, streaming/upgrade transports in `tako-streams`, and concrete
//! middleware/plugin implementations in `tako-plugins`. Users should depend on
//! the `tako-rs` umbrella crate, which re-exports everything under the original
//! `tako::*` paths.
/// HTTP request and response body handling utilities.
/// HTTP client implementation for making outbound requests.
/// Configuration loading from environment variables.
/// Request data extraction trait + the two extractors (`json`, `params`)
/// whose internal types are referenced by the router and route.
/// Request handler traits and implementations.
/// Middleware trait + `Next` execution chain.
/// Plugin system trait (`TakoPlugin`).
/// Response generation utilities and traits.
/// RFC 7807 / RFC 9457 `application/problem+json` error responses.
/// Unified per-connection metadata extension shared by every transport.
/// Shared TLS certificate / key PEM loading helpers.
/// Redirection utilities for handling HTTP redirects.
/// Route definition and matching logic.
/// Request routing and dispatch functionality.
/// In-memory background job queue with retry, delayed jobs, and dead letter support.
/// Application state management and dependency injection.
/// Per-router typed state container (instance-scoped, complements `state`).
/// In-process signal arbiter for custom events.
/// Distributed tracing integration for observability.
/// Core type definitions used throughout the framework.
/// `GraphQL` support (request extractors, responses, and subscriptions).
/// `GraphiQL` UI helpers.
/// `OpenAPI` documentation generation integrations (utoipa, vespera).
/// gRPC support for unary RPCs with protobuf serialization.
pub use Bytes;
pub use Method;
pub use StatusCode;
pub use header;
pub use Full;
pub use NOT_FOUND;