Skip to content
This repository has been archived by the owner on Mar 17, 2023. It is now read-only.

unger1984/dia_router

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEPRECATED! Move to MONOREPO https://github.com/unger1984/di

Pub Package

Router middleware for Dia.

This package allows you to create separate middleware for specific urls and http methods

Install:

Add to pubspec.yaml in dependencies section this:

    dia_router: ^0.1.6

Then run pub get

Usage:

A simple usage example:

import 'dart:io';

import 'package:dia/dia.dart';
import 'package:dia_router/dia_router.dart';

/// Custom Context with Routing mixin
class ContextWithRouting extends Context with Routing {
  ContextWithRouting(HttpRequest request) : super(request);
}

main() {
  final app = App((req)=>ContextWithRouting(req));
  
  final router = Router('/prefix');
  router.get('/path/:id', (ctx,next) async {
    ctx.body = 'params=${ctx.parsms} query=${ctx.query}';
  });
  
  app.use(router.middleware);

  app
      .listen('localhost', 8080)
      .then((info) => print('Route example on http://localhost:8080/perfix/path/12?count=10'));
}

GET http://localhost:8080/perfix/path/12?count=10

params={id:12} query={count:10}

Router support all HTTP method: GET,POST,PUT,PATCH,OPTION,DELETE,HEADER,CONNECT,TRACE

For more details, please, see example folder and test folder.

Use with:

  • dia - A simple dart http server in Koa2 style.
  • dia_cors - Package for CORS middleware.
  • dia_body - Package with the middleware for parse request body.
  • dia_static - Package to serving static files.

Migration from 0.0.*

change

final app = App<ContextWithRouting>();

to

final app = App((req)=>ContextWithRouting(req));

Features and bugs:

I will be glad for any help and feedback! Please file feature requests and bugs at the issue tracker.

About

Router middleware to Dia http server

Resources

License

Stars

Watchers

Forks

Languages