dartspatcher 0.2.0

dartspatcher #

A simple http dispatcher for Dart server.

Usage #

Usage example with http_server package:

import 'package:http_server/http_server.dart';
import 'package:dartspatcher/dartspatcher.dart';

main() {
  Dartspatcher dartspatcher = new Dartspatcher();
  
  HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 4040).then((server) {
    server.transform(new HttpBodyHandler()).listen((HttpRequestBody body) {
      dartspatcher.on(body);
    });
    print('listening on localhost, port 4040');
  });
  
  dartspatcher.setHeaders({
    'Access-Control-Allow-Origin': '*',
    'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
    'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept',
    'Content-Type': 'text/plain; charset=utf-8'
  });

  dartspatcher.get('/', (HttpRequest request, Map params) {
    ...
    request.response.close();
  });
  
  dartspatcher.get('/:uriParam?queryParam=example', (HttpRequest request, Map params) {
    ...
    request.response.close();
  });
  
  ...
}

Set Headers #

...

dartspatcher.setHeaders({
  'Access-Control-Allow-Origin': '*',
  'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
  'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept',
  'Content-Type': 'text/plain; charset=utf-8'
});

...

Params Map #

{
  "uri": {},
  "query": {},
  "body": {},
  "text": ""
}

Features and bugs #

Please file feature requests and bugs at the issue tracker.

Changelog #

0.1.1 #

  • README file update

0.1.0 #

  • Initial version, created by Davide Bausach

example/dartspatcher_example.dart

// Copyright (c) 2017, Davide Bausach. All rights reserved. Use of this source
// code is governed by a BSD-style license that can be found in the LICENSE file.

/*
import 'package:dartspatcher/dartspatcher.dart';

main() {
  var awesome = new Awesome();
  print('awesome: ${awesome.isAwesome}');
}
*/

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  dartspatcher: ^0.2.0

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:dartspatcher/dartspatcher.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
--
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
--
Overall:
Weighted score of the above. [more]
0
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Analysis issues and suggestions

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://dart.dev/dart-2#migration.

Maintenance issues and suggestions

Make sure dartdoc successfully runs on your package's source files. (-10 points)

Dependencies were not resolved.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.20.1 <2.0.0

Admin