fukiya 0.2.0

  • README.md
  • Installing
  • Versions
  • 29

Build Status


Simple framework for making dart server applications easier to write. Long way to go, this is very simple. Proper documentation will be written when the library matures a bit more.

For a practical example, look at fukiya_*_test.dart tests in the test directory.

Example usage:

void main() {
  new Fukiya()
    ..get('/', getHandler)
    ..put('/', putHandler)
    ..delete('/', deleteHandler)
    ..post('/', postHandler)
    ..get('/testing', (FukiyaContext context) {
      context.send("This is testing.");
    ..get('/:userid', getDynamicHandler)
    ..use(new FukiyaFormParser())
    ..use(new FukiyaJsonParser())
    ..listen('', 3333);




MIT License. See LICENSE file.


  • Dart 1.0 Readiness


  • Moving the stream close to finally block. Changing printlns to Logger output.


  • Fix problem with runZoned presented in trunk for future versions.


  • runZonedExperimental is now runZoned


  • Updated imports to handle change of JSON being removed from SDK libraries and put in PUB.


  • Updated for the latest changes in Dart. Thanks to Adam Singer for the help.


  • Return 500 on uncaught exception in Zone. If the response isn't already closed, it will set the status to 500 and close it.


  • All handlers are now wrapped in runZoned, so no matter what happens in user created handlers, the server should theoretically never crash due to an error in the handler.


  • Fixed bug where if there is an exception in the handler, it will crash the server. It now should not do that.
  • Added a new jsonResponse function to the context. When passed a JSONifiable object/map it will JSONify it and send it with appropriate contenttype headers.


  • Changed static file handling to use the wonderful library created by Daniele Salatti.
  • Added functions to be able to add MimeTypes to the StaticFileHandler library from Fukiya.
  • Added additional test to make sure static file handling overrode any other paths.


  • Fixing breakage in path.pathSegments. Reverted back to path.split('/')


  • Fixing immutable map problem with queryParameters.


  • Fixing query parameter related stuff.


  • Fixing Crypto package change.
  • HttpRequest QueryParamters change.


  • Merged typed-data name fix
  • Uses new version of Formler


  • Updated for M4 changes.
  • I think this is 0.1 ready. So bumping to 0.1.
  • Add a bunch of Comments to the library, preparing for DartDoc generation and better documentation.


  • Added a redirect() function to faciliate easier 302 redirects.
  • Replaced a few hardcoded HTTP Statuses to use the HttpStatus constants/enum.


  • Bug fix for improper part/import behavior between Formler and Fukiya. Should prevent this from happening to others.


  • Fixing issue with Ints and Doubles during checked mode in prioritizer.


  • Stupid mistake fix.


  • Fixed a missing null check that causes problems if you aren't using static file handler.


  • Extracted form parser into seperate library called Formler. Works much better now, and in turn form parsing is in a better state in Fukiya.


  • Added unit testing.
  • Form parser works for everything except Content-Transfer-Encoding: binary. If you want to use it to upload files. Base64 encode them first.


  • Fixing problems with Pub versioning.


  • Added prioritization logic to handle paths similar to each other, but used differenly. Like '/testing' vs '/:someVar' if '/testing' is hit, it should always hit '/testing' and never hit '/:someVar' since it matches also.
  • Fixed a few other bugs and languages changes.


  • Changed form parser to a State Machine. Works better, and more efficient. Still some edge cases that I am not covering on purpose.
  • Added JSON and File Parsers.
  • Fixed some bugs and other stuff.


  • Middleware support.
  • Form Parsing. UrlEncoded and MultiPart (MultiPart is very poorly implemented, and hacky, expect bugs.)


  • Updated for M3. Current changes made it MUCH easier to wrap things and route.
  • Added FukiyaContext that can be used to store Middleware data. More on that in future versions.
  • This release breaks compatibility with anything before M3.


  • Pattern support in URLs.
  • Fixed Static File Handler.


  • Initial Release, basic routing worked. Static files broken.

1. Depend on it

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

  fukiya: "^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:fukiya/fukiya.dart';
Version Uploaded Documentation Archive
0.2.0 Nov 9, 2013 Go to the documentation of fukiya 0.2.0 Download fukiya 0.2.0 archive
0.1.14 Nov 2, 2013 Go to the documentation of fukiya 0.1.14 Download fukiya 0.1.14 archive
0.1.13 Nov 2, 2013 Go to the documentation of fukiya 0.1.13 Download fukiya 0.1.13 archive
0.1.11 Nov 1, 2013 Go to the documentation of fukiya 0.1.11 Download fukiya 0.1.11 archive
0.1.10 Aug 31, 2013 Go to the documentation of fukiya 0.1.10 Download fukiya 0.1.10 archive
0.1.9 Jul 4, 2013 Go to the documentation of fukiya 0.1.9 Download fukiya 0.1.9 archive
0.1.8 Jun 29, 2013 Go to the documentation of fukiya 0.1.8 Download fukiya 0.1.8 archive
0.1.7 Jun 28, 2013 Go to the documentation of fukiya 0.1.7 Download fukiya 0.1.7 archive
0.1.6 Jun 23, 2013 Go to the documentation of fukiya 0.1.6 Download fukiya 0.1.6 archive
0.1.5 Jun 12, 2013 Go to the documentation of fukiya 0.1.5 Download fukiya 0.1.5 archive

All 25 versions...


This feature is new.
We welcome feedback.
More details: scoring.

We analyzed this package, and provided a score, details, and suggestions below.

  • completed on Jan 21, 2018
  • Dart: 2.0.0-dev.15.0
  • pana: 0.10.0


Describes how popular the package is relative to other packages. [more]
0 / 100
Code health derived from static analysis. [more]
96 / 100
Reflects how tidy and up-to-date the package is. [more]
0 / 100
Overall score:
Weighted score of the above. [more]


Detected platforms: other

Primary library: package:fukiya/fukiya.dart.


  • Use constrained dependencies.

    The pubspec.yaml contains 2 dependencies without version constraints. Specify version ranges for the following dependencies: log4dart, static_file_handler.

  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use fukiya.dart.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=0.8.10+6 <2.0.0
crypto >=0.9.0 <0.10.0 0.9.2+1 2.0.2+1
formler 0.1.0 0.1.0 0.1.2
json >=0.9.0 <0.10.0 0.9.1 0.10.0
log4dart >=1.4.11 1.4.19
logging >=0.9.0 <0.10.0 0.9.3 0.11.3+1
static_file_handler >=0.1.3 0.2.2
unittest >=0.9.0 <0.10.0 0.9.3 0.12.4+1
Transitive dependencies
args 0.10.0+2 1.2.0
charcode 1.1.1
collection 0.9.4 1.14.5
convert 1.1.1 2.0.1
path 1.5.1
sprintf 1.0.8 3.0.2
stack_trace 0.9.3+2 1.9.1
typed_data 1.1.5
yaml 0.9.0+2 2.1.13