Пример #1
0
        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));
        }
Пример #4
0
        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"));
        }
Пример #11
0
        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);
        }