public ServletWorkerRequest(HttpServlet servlet, HttpServletRequest req, HttpServletResponse resp) : base(req.getContextPath(), req.getServletPath(), req.getRequestURI()) { _HttpServlet = servlet; _HttpServletRequest = req; _HttpServletResponse = resp; }
public void RegisterServlet(Type servletType) { try { HttpServlet httpServlet = (HttpServlet)Activator.CreateInstance(servletType); httpServlet.OnCreated(); WebServletAttribute servletAttribute = httpServlet.GetType().GetCustomAttribute(typeof(WebServletAttribute)) as WebServletAttribute; if (servletAttribute != null) { AddMapping(servletAttribute.GetMappingRoute(), httpServlet); } } catch { // TODO Add Logger } }
private void InvokeServlet(HttpServlet resource, string remainingURL, HttpRequest request, HttpResponse response) { response.SetHeader(HeaderFields.CacheControl, HeaderFields.CacheControl_NoCahe); ServletPathPatternAttribute pattern = resource.GetType().GetCustomAttribute(typeof(ServletPathPatternAttribute)) as ServletPathPatternAttribute; if (pattern != null) { foreach (var item in PathURLExtractor.ExtractPathVariable(pattern.PathPattern, remainingURL)) { request.AddParameter(item.Key, item.Value); } } resource?.Dispatch(request, response); }