rest_let 0.0.4 copy "rest_let: ^0.0.4" to clipboard
rest_let: ^0.0.4 copied to clipboard

outdatedDart 1 only

Very simple REST api on based route package

example/example.dart

library example;

import 'package:rest_let/restlet.dart';
import 'package:route/server.dart';
import 'dart:io';
import 'dart:convert';

void main() {
  HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 4444)
  .then((HttpServer server){
    print("Server started!");
    print("Address: http://${server.address.address}:${server.port}");
    
    Router router = new Router(server);
    RestServer rest = new RestServer(router);
    
    rest.addResource(new Resource("GET", "/api/hello"))
      .listen((ResourceEvent e){
        var request = e.request;
        print("Request on");
        print(request.method);
        print(request.uri.path);
        
        request.response
          ..statusCode = 200
          ..headers
            .add('Content-Type', 'text/plain')
          ..write("Hello to")
          ..close();
      });
    
    rest.addResource(new Resource("GET", "/api/hello/:name"))
      .listen((ResourceEvent e){
        var request = e.request;
        print("Request on");
        print(request.method);
        print(request.uri.path);
        
        var route = e.route;
        var name = route.params['name'].getValue();
        
        request.response
          ..statusCode = 200
          ..headers
            .add('Content-Type', 'text/plain')
          ..write("Hello to ${name}")
          ..close();
      });
    
    rest.addResource(new Resource("POST","/api/hello/:id"))
      .listen((ResourceEvent e){
        var request = e.request;
        var route = e.route;
        print("Request on");
        print(request.method);
        print(request.uri.path);
        
        if (request.contentLength == -1) {
          request.response
            ..statusCode = 200
            ..write('')
            ..close();
        } else {
          UTF8.decodeStream(request)
            .then((data){
            var json = JSON.decode(data);
            var name = json['name'];
            var age  = json['age'];
            var id = route.params['id'].getValue();
            request.response
              ..statusCode = 200
              ..headers
                .add('Content-Type', 'application/json')
              ..write(JSON.encode(
                      {'return':{
                        'name':name,
                        'age':age,
                        'id':id}
                      }))
              ..close();
          });
        }
      });
    
    rest.start();
  });
}
0
likes
15
points
7
downloads

Publisher

unverified uploader

Weekly Downloads

Very simple REST api on based route package

Repository (GitHub)
View/report issues

Documentation

Documentation

License

unknown (license)

Dependencies

route

More

Packages that depend on rest_let