anchor.diff:            case "DELETE": 
               _handleDelete(request);
               break;
  -          /*TODO research about uses of options
  -           *  case "OPTIONS": 
  -           * handleOptions(request);
  -           * break;*/
             default: errorPageHandler(request);
           }
         }, 
  
positive.code: import 'dart:async' show Future;
  import 'dart:convert' show UTF8;
  
  /* 
   * Provides CORS headers, so can be accessed from any other page
   */
  
  
  abstract class EndpointHandler {
    String endpoint;
    
    EndpointHandler(this.endpoint);
    
    String handlePut(String received){
      return "Not implemented PUT for endpoint ${this.endpoint}";
    }
    String handlePost(String received){
      return "Not implemented POST for endpoint ${this.endpoint} <- $received";
    }
    String handleGet(Iterable<String> pathElements){
      return "Not implemented GET for endpoint ${this.endpoint}/${pathElements}";
    }
    String handleDelete(String id){
      return "Not implemented DELETE for endpoint ${this.endpoint}";
    }
  }
  
  class RouteHandler extends  EndpointHandler{
    
    RouteHandler(): super("route");
    
    @override 
    String handlePost(String received){
      return received;
    }
    
    @override 
    String handlePut(String received){
      return received;  
    }
    
    @override 
    String handleGet(Iterable<String> pathElements){
      return pathElements.toString();
    }
    
    @override 
    String handleDelete(String id){
      return id;
    }
  }
  
  class UserHandler extends  EndpointHandler{
    
    UserHandler(): super("user");
   
  }
  
  class RestServer{
  
negative.code:     if (handler == null){
        errorPageHandler(req);
      } else {
        String jsonResp = handler.handleGet(new RelativeEndpoint(null, req.uri.pathSegments, null, ''));
        _responseJson(jsonResp, req.response);
      }
    }
    
  