anchor.diff:      var path = request.uri.path;
       
       for (var route in routes) {
  -      var glob = new Glob(route.pattern);
  -      if (glob.hasMatch(path) && (route.method != null ? route.method == request.method : true)) {
  +      var pattern = route.pattern;
  +      
  +      var matches = false;
  +      if (pattern is String) {
  +        matches = pattern == path;        
  +      } else if (pattern is RegExp) {
  +        matches = pattern.hasMatch(path);
  +      } else {
  +        throw new Exception("Invalid Pattern Type");
  +      }
  +      
  +      if (route.pattern.allMatches(path).isNotEmpty && (route.method != null ? route.method == request.method : true)) {
           route.handler(request);
           return;
         }
  
positive.code: }
  
  class HttpRoute {
    final String pattern;
    final HttpRequestHandler handler;
    final String method;
    
    HttpRoute(this.pattern, this.handler, this.method);
  }
  
  typedef void HttpRequestHandler(HttpRequest request);
negative.code:     });
    }
    
    void addRoute(dynamic pattern, HttpRequestHandler handler, {String method, bool matchSubPaths: false}) {
      if (pattern is! String && pattern is! RegExp) {
        throw new Exception("pattern must be a string or regexp");
      }
      
      var route = new HttpRoute(pattern, handler, method, matchSubPaths);
      routes.add(route);
    }
    
  