public void Handle(HttpDiscussion discussion) { var url_part = discussion.Request.Url; // do some basic sanitization of the URL, attempting to make sure they can't read files outside the basepath // NOTE: this is probably not bulletproof/secure url_part = url_part.Replace("\\..\\", "\\"); url_part = url_part.Replace("/../", "/"); url_part = url_part.Replace("//", "/"); url_part = url_part.Replace(@"\\", @"\"); url_part = url_part.Replace(":", ""); url_part = url_part.Replace("/", Path.DirectorySeparatorChar.ToString()); foreach (var file in FilesPath) { if (file.Path == url_part) { var file_extension = GetExtension(url_part); discussion.Response = new HttpResponse(); discussion.Response.StatusCode = "200"; discussion.Response.ReasonPhrase = "Ok"; discussion.Response.Headers["Content-Type"] = QuickMimeTypeMapper.GetMimeType(file_extension); discussion.Response.Content = file.Content; return; } } discussion.Response = HttpBuilder.NotFound(); }
private HttpResponse HomeIndex(HttpRequest request) { //try //{ // if (request.Content != null) // { // WmsModel model = JsonConvert.DeserializeObject<WmsModel>(request.Content); // HttpResponse response; // switch (model.Task_type) // { // case WmsStatus.StockInTask: // response = CheckWmsModel(model, WmsStatus.StockCheckTask, false); // break; // case WmsStatus.StockOutTask: // response = CheckWmsModel(model, WmsStatus.StockCheckTask, false); // break; // case WmsStatus.StockMoveTask: // response = CheckWmsModel(model, WmsStatus.StockCheckTask, false); // break; // } // if (response != null) return response; // if (!WmsModelAdd(model, out string result)) // { // return FailResponse(result); // } // return OkResponse(); // } //} //catch (Exception e) //{ // Console.WriteLine(e.Message); //} return(HttpBuilder.NotFound()); //string value = ""; //if (request.Headers.ContainsKey("WMS_DATA")) //{ // value = request.Headers["WMS_DATA"]; //} //return new HttpResponse() //{ // ContentAsUTF8 = "{\"data\":\""+ value // +"\",\"name\":\"kyle\",\"age\":18,\"friend\":[{\"name\":\"matt\",\"sex\":\"man\"},{\"name\":\"butt\",\"sex\":\"man\"}]}", // ReasonPhrase = "OK", // StatusCode = "200" //}; }
private HttpResponse HomeIndex(HttpRequest request) { return(HttpBuilder.NotFound()); //string value = ""; //if (request.Headers.ContainsKey("WMS_DATA")) //{ // value = request.Headers["WMS_DATA"]; //} //return new HttpResponse() //{ // ContentAsUTF8 = "{\"data\":\""+ value // +"\",\"name\":\"kyle\",\"age\":18,\"friend\":[{\"name\":\"matt\",\"sex\":\"man\"},{\"name\":\"butt\",\"sex\":\"man\"}]}", // ReasonPhrase = "OK", // StatusCode = "200" //}; }
public HttpResponse Handle(HttpRequest request) { var url_part = request.GetPath(); //read everything before query params start if (url_part.Contains("?")) { url_part = url_part.Substring(0, url_part.IndexOf("?")); } // do some basic sanitization of the URL, attempting to make sure they can't read files outside the basepath // NOTE: this is probably not bulletproof/secure url_part = url_part.Replace("\\..\\", "\\"); url_part = url_part.Replace("/../", "/"); url_part = url_part.Replace("//", "/"); url_part = url_part.Replace(@"\\", @"\"); url_part = url_part.Replace(":", ""); url_part = url_part.Replace("/", Path.DirectorySeparatorChar.ToString()); // make sure the first part of the path is not if (url_part.Length > 0) { var first_char = url_part.ElementAt(0); if (first_char == '/' || first_char == '\\') { url_part = "." + url_part; } } var local_path = Path.Combine(this.BasePath, url_part); if (ShowDirectories && Directory.Exists(local_path)) { // Console.WriteLine("FileSystemRouteHandler Dir {0}",local_path); return(Handle_LocalDir(request, local_path)); } else if (File.Exists(local_path)) { // Console.WriteLine("FileSystemRouteHandler File {0}", local_path); return(Handle_LocalFile(request, local_path)); } else { return(HttpBuilder.NotFound()); } }
public static HttpResponse Get(HttpRequest request) { if (!request.GetParams.ContainsKey("user_id") || !request.GetParams.ContainsKey("sum")) { return(HttpBuilder.NotFound()); } if (!long.TryParse(request.GetParams["user_id"], out var userId)) { return(HttpBuilder.NotFound()); } if (!float.TryParse(request.GetParams["sum"], out var sum)) { return(HttpBuilder.NotFound()); } if (userId == 0 || Math.Abs(sum) < 1) { return(HttpBuilder.NotFound()); } Payments.Payment payment = Payments.CreatePayment(userId, sum, Payments.Type.Income); if (payment.PaymentId == 0) { return(HttpBuilder.NotFound()); } // Получение параметров var data = Interkassa.GetDefaultData(payment.PaymentId, payment.Sum); // Добавляем в конец параметров ключ по которому будет высчитан хэш data.Add("ik_sign", Interkassa.SecretKey); var sign = Interkassa.GetEncodedSign(data.Values.ToArray()); // Заменяем ключ на хэш data["ik_sign"] = sign; return(new HttpResponse() { ContentAsUTF8 = Interkassa.GetForm(data), ReasonPhrase = "OK", StatusCode = "200" }); }