private static async Task CallTheHostAsync(string uri) { try { HttpClient client = new HttpClient(); ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); }; ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3; client.Timeout = TimeSpan.FromMilliseconds(3000); HttpResponseMessage checkingResponse = await client.GetAsync(uri); if (checkingResponse.IsSuccessStatusCode) { if (!ignoreChecks) { Task t = Task.Factory.StartNew(() => HttpHeadersHelper.CheckOwaspRecHeader(checkingResponse)); t.Wait(); } Console.ForegroundColor = ConsoleColor.Green; } else { Console.ForegroundColor = ConsoleColor.DarkYellow; } Output.WriteLine(string.Format("[{0}] {1} {2} - {3}", DateTime.Now, checkingResponse.ReasonPhrase, (int)checkingResponse.StatusCode, uri)); } catch (Exception) { Console.ForegroundColor = ConsoleColor.DarkMagenta; Output.WriteLine(string.Format("[{0}] {1} - {2}", DateTime.Now, "TimeOut or SSLError", uri)); } }
public IActionResult GetSupplierById(int id) { KeyValuePair <string, StringValues>[] requestHeaders = _ctxAccessor.HttpContext.Request.Headers.ToArray(); var headerValues = HttpHeadersHelper.ExtractHeaders(requestHeaders); HttpHeadersHelper.DisplayHeaders(headerValues); return(Ok(_seeder.Suppliers.FirstOrDefault(s => s.Id == id))); }
public IActionResult GetProducts() { KeyValuePair <string, StringValues>[] requestHeaders = _ctxAccessor.HttpContext.Request.Headers.ToArray(); var headerValues = HttpHeadersHelper.ExtractHeaders(requestHeaders); HttpHeadersHelper.DisplayHeaders(headerValues); return(Ok(_seeder.Products)); }
public async Task <WebApiResult> Attach() { #if DEBUG await Task.Delay(300); #endif try { if (!Request.Content.IsMimeMultipartContent()) { return(WebApiResult.Failed("Bad Request")); } MultipartMemoryStreamProvider provider = await Request.Content.ReadAsMultipartAsync(); var entityId = new Guid(HttpHeadersHelper.GetHeader(Request.Headers, "EntityId")); var existsFiles = _service.GetFileNames(entityId); var existsModels = _service.GetModels(entityId); // adds new files foreach (HttpContent file in provider.Contents) { var fileName = file.Headers.ContentDisposition.Name.Trim('\"'); byte[] data = await file.ReadAsByteArrayAsync(); // a existing file if (data.Length != 0) { var fileDto = await _service.SaveFile(entityId, fileName, data); _service.SaveModel(fileDto, base.GetUserDto()); } // removes file existsFiles.Remove(fileName); // removes model if (existsModels.Any(e => e.FileName == fileName)) { existsModels.Remove(existsModels.First(e => e.FileName == fileName)); } } // removes unspecified files foreach (string fileName in existsFiles) { _service.RemoveFile(entityId, fileName); } // removes unspecified models foreach (FileDto model in existsModels) { _service.RemoveModel(model); } return(WebApiResult.Succeed()); } catch (IOException e) { var entityId = new Guid(HttpHeadersHelper.GetHeader(Request.Headers, "EntityId")); _service.RemoveModels(entityId); _service.RemoveFiles(entityId); return(WebApiResult.Succeed()); } catch (Exception e) { Logger.e("SaveFile", e); return(WebApiResult.Failed(e.Message)); } }
public IActionResult DeleteSupplier(int id) { KeyValuePair <string, StringValues>[] requestHeaders = _ctxAccessor.HttpContext.Request.Headers.ToArray(); var headerValues = HttpHeadersHelper.ExtractHeaders(requestHeaders); HttpHeadersHelper.DisplayHeaders(headerValues); _seeder.Suppliers.RemoveAt(_seeder.Suppliers.IndexOf(_seeder.Suppliers.FirstOrDefault(s => s.Id == id))); return(Ok("supplier deleted")); }
public IActionResult CreateSupplier([FromBody] Supplier supplier) { KeyValuePair <string, StringValues>[] requestHeaders = _ctxAccessor.HttpContext.Request.Headers.ToArray(); var headerValues = HttpHeadersHelper.ExtractHeaders(requestHeaders); HttpHeadersHelper.DisplayHeaders(headerValues); _seeder.Suppliers.Add(supplier); return(CreatedAtRoute("GetSupplierById", new { id = supplier.Id }, supplier)); }
public IActionResult CreateProduct([FromBody] Product product) { KeyValuePair <string, StringValues>[] requestHeaders = _ctxAccessor.HttpContext.Request.Headers.ToArray(); var headerValues = HttpHeadersHelper.ExtractHeaders(requestHeaders); HttpHeadersHelper.DisplayHeaders(headerValues); _seeder.Products.Add(product); return(CreatedAtRoute("GetProductById", new{ id = product.Id }, product)); }
public IActionResult DeleteProduct(int id) { KeyValuePair <string, StringValues>[] requestHeaders = _ctxAccessor.HttpContext.Request.Headers.ToArray(); var headerValues = HttpHeadersHelper.ExtractHeaders(requestHeaders); HttpHeadersHelper.DisplayHeaders(headerValues); var toRemove = _seeder.Products.FirstOrDefault(p => p.Id == id); _seeder.Products.Remove(toRemove); return(Ok("Product deleted")); }
public IActionResult UpdateSupplier([FromBody] Supplier supplier, int id) { KeyValuePair <string, StringValues>[] requestHeaders = _ctxAccessor.HttpContext.Request.Headers.ToArray(); var headerValues = HttpHeadersHelper.ExtractHeaders(requestHeaders); HttpHeadersHelper.DisplayHeaders(headerValues); var toUpdate = _seeder.Suppliers.FirstOrDefault(s => s.Id == id); toUpdate.Name = supplier.Name; toUpdate.Country = supplier.Country; return(Ok("Supplier updated")); }
public IActionResult UpdateProduct([FromBody] Product product, int id) { KeyValuePair <string, StringValues>[] requestHeaders = _ctxAccessor.HttpContext.Request.Headers.ToArray(); var headerValues = HttpHeadersHelper.ExtractHeaders(requestHeaders); HttpHeadersHelper.DisplayHeaders(headerValues); var existing = _seeder.Products.FirstOrDefault(p => p.Id == id); existing.Code = product.Code; existing.Description = product.Description; existing.Name = product.Name; existing.Price = product.Price; return(Ok("Product updated")); }
public SelfReportedLoanListModel GetLoans(string ssn) { _log.Debug(string.Format("START ASA.Web.Services.LoanService.GetLoan(): ssn={0}", !string.IsNullOrEmpty(ssn)?ssn:"null")); HttpHeadersHelper.SetNoCacheResponseHeaders(WebOperationContext.Current); SelfReportedLoanListModel loans = null; IAsaMemberAdapter memberAdapter = null; memberAdapter = new AsaMemberAdapter(); if (LoanValidation.ValidateInputSsn(ssn)) { _log.Debug("calling GetActiveDirectoryKeyFromContext now."); int? id = memberAdapter.GetMemberIdFromContext(); ASAMemberModel member = memberAdapter.GetMember(id.Value); if (_loanAdapter == null) { _log.Error(_loanAdapterExceptionMessage); loans = new SelfReportedLoanListModel(); ErrorModel error = new ErrorModel(_loanAdapterExceptionMessage, "Web Loan Service"); _log.Error("ASA.Web.Services.LoanService.GetLoan(): " + _loanAdapterExceptionMessage); loans.ErrorList.Add(error); } else if (member != null)// we should never try to retrieve loans for someone who isn't found as the logged-in member from context. { loans = _loanAdapter.GetLoans(ssn, member); } if (loans == null) { _log.Debug("No loans were retrieved for this SSN: " + ssn); loans = new SelfReportedLoanListModel(); loans.ErrorList.Add(new ErrorModel("No Loans were retrieved for this SSN.")); } } else { loans = new SelfReportedLoanListModel(); ErrorModel error = new ErrorModel("Invalid search criteria", "Web Loan Service"); _log.Warn("ASA.Web.Services.LoanService.GetLoan(): Invalid search criteria"); loans.ErrorList.Add(error); } _log.Debug(string.Format("END ASA.Web.Services.LoanService.GetLoan(): ssn={0}", !string.IsNullOrEmpty(ssn) ? ssn : "null")); return(loans); }