wrapEndpoint
@tsed/directus-sdk
Usage
typescript
import { wrapEndpoint } from "@tsed/third-parties/directus-sdk/src/fn/wrapEndpoint";See /packages/third-parties/directus-sdk/src/fn/wrapEndpoint.ts.
Overview
ts
function wrapEndpoint(callback: (router: Router, context: EndpointExtensionContext) => void): (router: Router, context: EndpointExtensionContext) => void;- callback (
(router: Router): - The endpoint handler function that receives router and context
Description
Wraps an endpoint handler to provide Ts.ED dependency injection and error handling.
This function is internally used by defineEndpoint to:
- Initialize the Ts.ED DI container for each request
- Wrap all Express router methods (GET, POST, PUT, DELETE, etc.)
- Provide automatic error handling with proper HTTP responses
- Attach Directus logger to the DI context
- Log errors with structured error information
Each route handler executes within its own DI context, allowing proper isolation and service injection via inject().
This is typically used internally by defineEndpoint. You generally don't need to call this directly unless you're building custom endpoint wrappers.
Error handling:
- Errors are caught and returned as JSON responses
- Status code is extracted from
error.status(defaults to 500) - Error message is extracted from
error.error_messageorerror.message - Additional errors array is included if present in
error.errors - All errors are logged with structured information (name, message, description, stack)