public static BadrResponse ModelView(BadrRequest request, UrlArgs args) { dynamic model = Model.Manager(args[1]).Get(int.Parse(args["model_id"])); dynamic tc = new TemplateContext(); tc.modelName = args[1]; tc.model = model; return BadrResponse.Create(request, tc); }
public static BadrResponse ModelListView(BadrRequest request, UrlArgs args) { string modelName = args[1]; string pageNum = args["page_num"]; dynamic modelsPage = Model.Manager(modelName).Page(pageNum != null ? int.Parse(pageNum) : 1, 20); dynamic tc = new TemplateContext (); tc.modelName = modelName; tc.modelsPage = modelsPage; return BadrResponse.Create (request, tc); }
public static BadrResponse ServeStaticFiles(BadrRequest request, UrlArgs args = null) { string resourcePath = null; if (args != null && (resourcePath = args[STATIC_RESOURCE_GROUP_NAME]) != null) { bool reloadFile = true; bool conditionalGet = request.Headers[HttpRequestHeaders.IfModifiedSince] != null; DateTime resourceLastModificationDate = StaticFilesManager.GetLastModificationTimeUtc(resourcePath); DateTime clientLastModificationDate; if(conditionalGet) { if(DateTime.TryParse(request.Headers[Badr.Net.Http.Request.HttpRequestHeaders.IfModifiedSince], out clientLastModificationDate)) { reloadFile = resourceLastModificationDate.CompareTo(clientLastModificationDate) > 0; } } BadrResponse response; if (reloadFile){ response = new StaticResponse(request, MimeMapping.GetMimeMapping(resourcePath)) { Status = HttpResponseStatus._200, BodyBytes = StaticFilesManager.GetFileBytes(resourcePath) }; } else { response = new BadrResponse(request) { Status = HttpResponseStatus._304 }; } response.Headers.Add(HttpResponseHeaders.LastModified, resourceLastModificationDate.ToString("r")); return response; } return null; }
private BadrResponse View1(BadrRequest request, UrlArgs args) { return null; }
public UrlArgs GetArgs(string url) { UrlArgs args = new UrlArgs() { UrlName = this.Name }; if (!_isSimpleUrl) { Match match = RE.Match(HttpUtility.UrlDecode(url)); if (match.Groups.Count > 1) { for (int groupIndex = 1; groupIndex < match.Groups.Count; groupIndex++) { Group group = match.Groups[groupIndex]; if (group.Success) { string groupName = RE.GroupNameFromNumber(groupIndex); int groupNum; if (!int.TryParse(groupName, out groupNum)) { args.Add(groupName, group.Value); } else args.Add(group.Value); } } return args; } } return args; }
private BadrResponse EmptyView(BadrRequest request, UrlArgs args) { return null; }