public Func <HttpRequestMessage, object> TryGetBinder(ParameterInfo pi, HttpMethodAttribute attr) { if (pi.ParameterType == typeof(NameValueCollection)) { return(DecodeFormUrlEncoding); } return(null); }
public Func<HttpRequestMessage, object> TryGetBinder(ParameterInfo pi, HttpMethodAttribute attr) { if (pi.ParameterType == typeof(HttpRequestMessage)) { return req => req; } return null; }
public Func<HttpRequestMessage, object> TryGetBinder(ParameterInfo pi, HttpMethodAttribute attr) { if (pi.ParameterType == typeof(NameValueCollection)) { return DecodeFormUrlEncoding; } return null; }
public Func <HttpRequestMessage, object> TryGetBinder(ParameterInfo pi, HttpMethodAttribute attr) { if (pi.ParameterType == typeof(HttpRequestMessage)) { return(req => req); } return(null); }
public Func <HttpRequestMessage, object> TryGetBinder(ParameterInfo pi, HttpMethodAttribute attr) { if ((pi.ParameterType.IsPrimitive || pi.ParameterType == typeof(String)) && (attr.UriTemplate.PathSegmentVariableNames.Contains(pi.Name.ToUpper()) || attr.UriTemplate.QueryValueVariableNames.Contains(pi.Name.ToUpper()))) { return(req => Convert.ChangeType(req.GetUriTemplateMatch().BoundVariables[pi.Name], pi.ParameterType)); } return(null); }
public Func<HttpRequestMessage, object> TryGetBinder(ParameterInfo pi, HttpMethodAttribute attr) { if ((pi.ParameterType.IsPrimitive || pi.ParameterType == typeof(String)) && (attr.UriTemplate.PathSegmentVariableNames.Contains(pi.Name.ToUpper()) || attr.UriTemplate.QueryValueVariableNames.Contains(pi.Name.ToUpper()))) { return req => Convert.ChangeType(req.GetUriTemplateMatch().BoundVariables[pi.Name], pi.ParameterType); } return null; }
private Func <HttpRequestMessage, object> GetBinder(ParameterInfo pi, HttpMethodAttribute attr) { var b = _binder.TryGetBinder(pi, attr); if (b == null) { throw new Exception("Unable to find binder to " + pi.Name); } return(b); }
public MethodBasedCommand(MethodInfo mi, HttpMethodAttribute attr, IEnumerable <Func <HttpRequestMessage, object> > binders) { _mi = mi; _attr = attr; _binders = binders.ToArray(); }
public MethodBasedCommand(MethodInfo mi, HttpMethodAttribute attr, IEnumerable<Func<HttpRequestMessage, object>> binders) { _mi = mi; _attr = attr; _binders = binders.ToArray(); }
private IEnumerable <Func <HttpRequestMessage, object> > ResolveBindersFor(MethodInfo mi, HttpMethodAttribute attr) { return(mi.GetParameters().Select(p => GetBinder(p, attr))); }
public Func <HttpRequestMessage, object> TryGetBinder(ParameterInfo pi, HttpMethodAttribute attr) { return(_coll.Select(b => b.TryGetBinder(pi, attr)).FirstOrDefault(f => f != null)); }
public Func<HttpRequestMessage, object> TryGetBinder(ParameterInfo pi, HttpMethodAttribute attr) { return _coll.Select(b => b.TryGetBinder(pi, attr)).FirstOrDefault(f => f != null); }
private IEnumerable<Func<HttpRequestMessage, object>> ResolveBindersFor(MethodInfo mi, HttpMethodAttribute attr) { return mi.GetParameters().Select(p => GetBinder(p, attr)); }
private Func<HttpRequestMessage, object> GetBinder(ParameterInfo pi, HttpMethodAttribute attr) { var b = _binder.TryGetBinder(pi, attr); if (b == null) throw new Exception("Unable to find binder to " + pi.Name); return b; }