private string FormatSafeContent(string content, RestFormat restFormat) { string safeContent = ""; switch (restFormat) { case RestFormat.XML: safeContent = FormatXMLContent(content); break; case RestFormat.JSON: safeContent = content; break; case RestFormat.XHTML: safeContent = content; break; default: safeContent = content; break; } return(safeContent); }
public string ExtractData(HttpContext context, RestFormat restFormat) { string content = ""; if (context.Request.InputStream != null) { Stream stream = context.Request.InputStream; stream.Seek(0, SeekOrigin.Begin); int length = Convert.ToInt32(stream.Length); Byte[] bytes = new Byte[length]; stream.Read(bytes, 0, length); bool isAttachmentFileUpload = IsFileUpload(context.Request); if (bytes.Length > 0 && !isAttachmentFileUpload) { content = FormatSafeContent((new UTF8Encoding()).GetString(bytes), restFormat); } } return(content); }
public RestCommand(LoginUser loginUser, Organization organization, HttpContext context) { _organization = organization; _loginUser = loginUser; switch (context.Request.HttpMethod.ToUpper()) { case "GET": _method = HttpMethod.Get; break; case "PUT": _method = HttpMethod.Put; break; case "POST": _method = HttpMethod.Post; break; case "DELETE": _method = HttpMethod.Delete; break; default: _method = HttpMethod.Unsupported; break; } if (_method == HttpMethod.Unsupported) { throw new RestException(HttpStatusCode.MethodNotAllowed); } _context = context; _segments = new List <string>(); bool flag = false; string format = ""; for (int i = 0; i < context.Request.Url.Segments.Length; i++) { string s = context.Request.Url.Segments[i].ToLower().Trim().Replace("/", ""); if (flag) { if (format == "") { format = s; } else { _segments.Add(s); } } if (s == "api") { flag = true; } } if (_segments == null || _segments.Count < 1) { throw new RestException(HttpStatusCode.NotFound); } switch (format) { case "xml": _format = RestFormat.XML; break; case "json": _format = RestFormat.JSON; break; case "xhtml": _format = RestFormat.XHTML; break; default: _format = RestFormat.XML; break; } _segments[_segments.Count - 1] = Path.GetFileNameWithoutExtension(_segments[_segments.Count - 1]); _filters = context.Request.QueryString; _data = ExtractData(_context, _format); }