Skip to main content

DebugInfo

Struct DebugInfo 

Source
pub struct DebugInfo {
    pub source_file: Option<String>,
    pub source_line: Option<u32>,
    pub function_name: Option<String>,
    pub route_pattern: Option<String>,
    pub handler_name: Option<String>,
    pub extra: HashMap<String, String>,
}
Expand description

Debug information to include in error responses when debug mode is enabled.

This struct holds diagnostic information that helps developers understand where and why an error occurred. This information should NEVER be included in production responses as it can leak sensitive implementation details.

§Fields

  • source_file: The file where the error originated
  • source_line: The line number in the source file
  • function_name: The function or handler that generated the error
  • route_pattern: The matched route pattern (e.g., “/users/{id}”)
  • handler_name: The name of the handler function
  • extra: Additional key-value debug information

§Example

use fastapi_core::error::DebugInfo;

let debug = DebugInfo::new()
    .with_source_location("src/handlers/user.rs", 42, "get_user")
    .with_route_pattern("/users/{id}")
    .with_extra("user_id_received", "abc123");

Fields§

§source_file: Option<String>

Source file path.

§source_line: Option<u32>

Source line number.

§function_name: Option<String>

Function or handler name.

§route_pattern: Option<String>

Matched route pattern.

§handler_name: Option<String>

Handler name (may differ from function_name for wrapped handlers).

§extra: HashMap<String, String>

Additional debug context.

Implementations§

Source§

impl DebugInfo

Source

pub fn new() -> Self

Create empty debug info.

Source

pub fn with_source_location( self, file: impl Into<String>, line: u32, function: impl Into<String>, ) -> Self

Set the source location.

Source

pub fn with_route_pattern(self, pattern: impl Into<String>) -> Self

Set the route pattern.

Source

pub fn with_handler_name(self, name: impl Into<String>) -> Self

Set the handler name.

Source

pub fn with_extra( self, key: impl Into<String>, value: impl Into<String>, ) -> Self

Add extra debug information.

Source

pub fn is_empty(&self) -> bool

Check if this debug info is empty (has no data).

Trait Implementations§

Source§

impl Clone for DebugInfo

Source§

fn clone(&self) -> DebugInfo

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DebugInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for DebugInfo

Source§

fn default() -> DebugInfo

Returns the “default value” for a type. Read more
Source§

impl Serialize for DebugInfo

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, _span: NoopSpan) -> Self

Instruments this future with a span (no-op when disabled).
Source§

fn in_current_span(self) -> Self

Instruments this future with the current span (no-op when disabled).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ResponseModel for T
where T: Serialize,

Source§

fn validate(&self) -> Result<(), ResponseValidationError>

Validate the response model before serialization. Read more
Source§

fn model_name() -> &'static str

Get the model name for error messages.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ResponseProduces<T> for T