public string GetResponseForRequest(Request request)
        {
            var uri = request.Uri;

            var invoke = uri.Segments.Last();
            if (invoke == "") invoke = "Index";
            var method = _collection.GetMethod(invoke);

            var args = GetURLArguments(method, uri);

            if (!String.IsNullOrEmpty(request.Body)){
                args[0] = JsonConvert.DeserializeObject(request.Body, method.GetParameters()[0].ParameterType);
            }

            var response = method.Invoke(_target, args);

            return ProcessResponse(response);
        }
 protected override string OnRequestReceived(Request request)
 {
     return GetResponseForRequest(request);
 }