octor 0.0.3
SDKflutter
Platformandroid
Server-side framework built upon dart:io:HttpServer. It's self contained Http framework which keeps simple by having minimal possible dependencies.
Server-side framework based on dart:io:HttpServer
Warning
Package still in development.
I don't recommend to use it in production.
Any help is appreciated.
Feel free to provide Pull Requests.
Let's make Dart one of better languages for server-side development.
Usage
import 'package:octor/octor.dart';
class Greeter extends Callable {
final String greeting;
Greeter([this.greeting = 'Hello']);
@override
Future<dynamic> call(RequestContext context) {
var response = context.response;
response.write('$greeting!');
return context.response.close();
}
}
class AsyncGreeter extends Callable {
final String greeting;
AsyncGreeter([this.greeting = 'Hello']);
@override
Future<dynamic> call(RequestContext context) async {
var response = context.response;
response.bufferOutput = false;
for (var i in [3, 2, 1]) {
response.write('$i\n');
await Future.delayed(Duration(seconds: 1));
}
response.write('$greeting!');
return response.close();
}
}
Future<dynamic> helloWorld(RequestContext context) {
var response = context.response;
response.write('Hello, World!');
return response.close();
}
Future<dynamic> anyMethodHandler(RequestContext context) {
var request = context.request;
var response = context.response;
response.write('${request.method} ${request.uri} handled by "any" method handler');
return response.close();
}
void main() async {
var app = Octor();
app.get('/hello', helloWorld);
app.get('/greet/:name', Greeter());
app.get('/fr/greet/:name', Greeter('Bonjour'));
app.get('/greet/:name/async', AsyncGreeter());
app.get('/de/greet/:name/async', AsyncGreeter('Halo'));
app.any('/de/greet/:name/async', anyMethodHandler); // GET, POST, PUT, DELETE, PATCH and etc.
await app.listen(port: 10080, host: ListenAt.anyIPv4);
print('App started at: ${app.host.address}:${app.port}');
}
Features and bugs
Please file feature requests and bugs at the issue tracker.