server library

Duxt Server - Shelf-based HTTP server utilities

Import this for server-side API routes:

import 'package:duxt/server.dart';

void main() async {
  final server = DuxtServer(port: 3000);

  server.get('/api/hello', (req) => json({'message': 'Hello!'}));

  server.get('/api/users/:id', (req) {
    final id = req.param('id');
    return json({'id': id});
  });

  await server.start();
}

Classes

ApiHandler
Base class for API route handlers Handles HTTP methods for server-side API routes
ApiRequest
Incoming API request
ApiResponse
API response
DuxtServer
Duxt Server - Shelf-based HTTP server

Extensions

RequestExtensions on Request
Extension to get parsed data from request

Functions

auth(Future<bool> verify(Request)) → Middleware
Auth middleware
cors({List<String> origins = const ['*'], List<String> methods = const ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'], List<String> headers = const ['Content-Type', 'Authorization']}) → Middleware
CORS middleware
defineEventHandler(EventHandler handler) EventHandler
Create an event handler
defineHandler(HandlerFunc fn) → Handler
Create a handler
getQuery(ApiRequest request) Map<String, String>
Get query parameters
getQueryParam(ApiRequest request, String key) String?
Get a single query parameter
getRouteParams(ApiRequest request) Map<String, String>
Get route parameters
json(dynamic data, {int statusCode = 200, Map<String, String>? headers}) → Response
Helper to create a JSON response
jsonBody() → Middleware
JSON body parser middleware
logger() → Middleware
Logger middleware
readBody(ApiRequest request) Future
Read body as JSON
sendError(int statusCode, String message) ApiResponse
Send an error
sendRedirect(String location, {int statusCode = 302}) ApiResponse
Send a redirect
setHeader(ApiResponse response, String name, String value) ApiResponse
Set response header

Typedefs

EventHandler = Future<ApiResponse> Function(ApiRequest request)
Define an event handler (for API routes)
HandlerFunc = FutureOr<Response> Function(Request request)
Define a handler function