public FileContentMessage(int statusCode, string path) : base(statusCode) { var fc = new FileContent(path); this.Content = fc; this.Headers.SetHeader("Content-Type", fc.GetMime()); }
private MethodInfo GetBodyAction(string name, ControllerData data, MemoryContentBase content, Method method) { var candidates = data.Methods.Where(m => m.Name.ToLower() == name.ToLower()); if (method != Method.GET) { candidates = candidates.Where(t => { var att = t.GetCustomAttribute <FromMethod>(); if (att == null) { return(false); } return(att.Method == method); }); } MethodInfo noParam = null; foreach (var candidate in candidates) { var parameters = candidate.GetParameters(); if (parameters.Length <= 0) { noParam = candidate; } if (parameters.Length > 1) { continue; } var attribute = candidate.GetCustomAttribute <FromJson>(); if (content is JsonContent && attribute != null) { return(candidate); } if (content is StringContent && parameters[0].ParameterType == typeof(string)) { return(candidate); } if (content is FormContent && parameters[0].ParameterType == typeof(FormContent)) { return(candidate); } } if (noParam != null) { return(noParam); } return(null); }
public override ResponseMessage Fire(MemoryContentBase body = null) { if (this.Action == null) { return(null); } // wrap to return response message return(this.Action(body)); }
public override ResponseMessage Fire(MemoryContentBase content) { if (!(content is StringContent)) { return(ResponseMessage.Error); } var stringContent = content as StringContent; if (this.Action != null) { return(this.Action(stringContent.Value)); } return(ResponseMessage.Error); }
public override ResponseMessage Fire(MemoryContentBase content) { if (!(content is JsonContent)) { return(ResponseMessage.Error); } var jsonContent = content as JsonContent; if (this.Action != null) { return(this.Action(jsonContent.GetObject <T>())); } return(ResponseMessage.Error); }
public StringResponseMessage(int statusCode, string message) : base(statusCode) { this.Headers.SetHeader("Content-Type", "text/html; charset=utf-8"); this.Content = new StringContent(message); }
public abstract ResponseMessage Fire(MemoryContentBase content);
public ContentResponseMessage(int statusCode, MemoryContentBase content) : base(statusCode) { this.Content = content; }