pub struct OpenFunctionPlugin {
function_uri: String,
authorization: Option<String>,
ssl_verify: bool,
timeout: Duration,
client: Arc<OutboundClient>,
}Expand description
Forwards the request to an OpenFunction endpoint and maps its reply into
Context.response.
Fields§
§function_uri: StringPre-computed Basic <base64(service_token)> header value, if configured.
ssl_verify: bool§timeout: Duration§client: Arc<OutboundClient>Implementations§
Source§impl OpenFunctionPlugin
impl OpenFunctionPlugin
Sourcepub fn from_config(
config: &HashMap<String, Value>,
resources: &Arc<PluginResources>,
) -> Result<Self, String>
pub fn from_config( config: &HashMap<String, Value>, resources: &Arc<PluginResources>, ) -> Result<Self, String>
Builds the plugin from node config.
Accepted keys:
function_uri(string, required): the OpenFunction URL. A missing/empty value is a config-load error.authorization(object, optional):service_token(string) — sent asAuthorization: Basic <base64(service_token)>.
ssl_verify(bool, defaulttrue): verify TLS certificates.timeout(integer ms, default3000): whole-call deadline.
type: openfunction
config:
function_uri: http://openfunction.svc/default/hello
authorization:
service_token: ${OPENFUNCTION_TOKEN}
ssl_verify: true
timeout: 3000Sourcefn build_request(&self, ctx: &Context) -> Result<OutboundRequest, String>
fn build_request(&self, ctx: &Context) -> Result<OutboundRequest, String>
Builds the outbound request: the client’s method/body/query forwarded to
function_uri plus the optional Authorization: Basic header.
Trait Implementations§
Source§impl Plugin for OpenFunctionPlugin
impl Plugin for OpenFunctionPlugin
Source§fn plugin_type(&self) -> &str
fn plugin_type(&self) -> &str
Unique identifier for the plugin type (e.g., “proxy-rewrite”, “upstream”).
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Executes the plugin logic against the request/response context. Read more
Auto Trait Implementations§
impl Freeze for OpenFunctionPlugin
impl !RefUnwindSafe for OpenFunctionPlugin
impl Send for OpenFunctionPlugin
impl Sync for OpenFunctionPlugin
impl Unpin for OpenFunctionPlugin
impl UnsafeUnpin for OpenFunctionPlugin
impl !UnwindSafe for OpenFunctionPlugin
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more