public Func<RequestInfo, object> TryGetBinder(ParameterInfo pi, HttpCmdAttribute attr) { if(pi.ParameterType == typeof(HttpListenerRequest)) { return ri => ri.Context.Request; } return null; }
public Func<RequestInfo, object> TryGetBinder(ParameterInfo pi, HttpCmdAttribute attr) { if (pi.ParameterType == typeof(IEnumerable<KeyValuePair<string, string>>)) { return DecodeFormUrlEncoding; } return null; }
public Func <RequestInfo, object> TryGetBinder(ParameterInfo pi, HttpCmdAttribute attr) { if (pi.ParameterType == typeof(HttpListenerRequest)) { return(ri => ri.Context.Request); } return(null); }
public Func <RequestInfo, object> TryGetBinder(ParameterInfo pi, HttpCmdAttribute attr) { if (pi.ParameterType == typeof(IEnumerable <KeyValuePair <string, string> >)) { return(DecodeFormUrlEncoding); } return(null); }
public Func<RequestInfo, object> TryGetBinder(ParameterInfo pi, HttpCmdAttribute attr) { if (pi.ParameterType == typeof(IPrincipal)) { return ri => ri.User; } return null; }
public Func <RequestInfo, object> TryGetBinder(ParameterInfo pi, HttpCmdAttribute attr) { if ((pi.ParameterType.IsPrimitive || pi.ParameterType.Equals(typeof(String))) && (attr.UriTemplate.PathSegmentVariableNames.Contains(pi.Name.ToUpper()) || attr.UriTemplate.QueryValueVariableNames.Contains(pi.Name.ToUpper()))) { return(ri => Convert.ChangeType(ri.Match.BoundVariables[pi.Name], pi.ParameterType)); } return(null); }
public Func<RequestInfo, object> TryGetBinder(ParameterInfo pi, HttpCmdAttribute attr) { if((pi.ParameterType.IsPrimitive || pi.ParameterType.Equals(typeof(String))) && (attr.UriTemplate.PathSegmentVariableNames.Contains(pi.Name.ToUpper()) || attr.UriTemplate.QueryValueVariableNames.Contains(pi.Name.ToUpper()))) { return ri => Convert.ChangeType(ri.Match.BoundVariables[pi.Name], pi.ParameterType); } return null; }
private Func <RequestInfo, object> GetBinder(ParameterInfo pi, HttpCmdAttribute 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, HttpCmdAttribute attr, IEnumerable<Func<RequestInfo, object>> binders) { _mi = mi; _attr = attr; _binders = binders.ToArray(); }
public MethodBasedCommand(MethodInfo mi, HttpCmdAttribute attr, IEnumerable <Func <RequestInfo, object> > binders) { _mi = mi; _attr = attr; _binders = binders.ToArray(); }
private IEnumerable <Func <RequestInfo, object> > ResolveBindersFor(MethodInfo mi, HttpCmdAttribute attr) { return(mi.GetParameters().Select(p => GetBinder(p, attr))); }
private IEnumerable<Func<RequestInfo, object>> ResolveBindersFor(MethodInfo mi, HttpCmdAttribute attr) { return mi.GetParameters().Select(p => GetBinder(p, attr)); }
private Func<RequestInfo, object> GetBinder(ParameterInfo pi, HttpCmdAttribute attr) { var b = _binder.TryGetBinder(pi, attr); if(b == null) throw new Exception("Unable to find binder to "+pi.Name); return b; }
public Func <RequestInfo, object> TryGetBinder(ParameterInfo pi, HttpCmdAttribute attr) { return(_coll.Select(b => b.TryGetBinder(pi, attr)).FirstOrDefault(f => f != null)); }
public Func<RequestInfo, object> TryGetBinder(ParameterInfo pi, HttpCmdAttribute attr) { return _coll.Select(b => b.TryGetBinder(pi, attr)).FirstOrDefault(f => f != null); }