/// <summary> /// /// </summary> /// <param name="httpContext"></param> /// <returns></returns> public async Task Invoke(HttpContext httpContext, IEncrypt iencrypt, ILinkingBankService linkingBank) { _encrypt = iencrypt; _linkingBank = linkingBank; try { var request = httpContext.Request; // Test only string admin = request.Headers["admin_key"]; if (!string.IsNullOrWhiteSpace(admin) && admin.ToLower().Equals("09411a3942454ec9b36e3bcaf1d69f22".ToLower())) { await _next(httpContext); return; } // End Test only if (request.Path.Value.ToLower().Contains("api/transactions".ToLower())) { var resultCheck = CheckBasicAuthenForPartner(request); if (resultCheck.Item1 != 1) { var obj = new { messageCode = -1, message = resultCheck.Item2, data = "" }; var response = httpContext.Response; response.ContentType = "application/json"; response.StatusCode = resultCheck.Item1 == 500 ? StatusCodes.Status500InternalServerError : StatusCodes.Status400BadRequest; response.WriteAsync(JsonConvert.SerializeObject(obj)).Wait(); return; } await _next(httpContext); } else { if (!CheckBasicAuthen(request)) { var response = httpContext.Response; response.ContentType = "application/json"; response.StatusCode = StatusCodes.Status401Unauthorized; return; } await _next(httpContext); } } catch (Exception ex) { var response = httpContext.Response; response.ContentType = "application/json"; response.StatusCode = StatusCodes.Status500InternalServerError; return; } }
public LinkingBankController(ISetting setting, ILinkingBankService service) { _Setting = setting; _Service = service; }
public TransactionsController(ISetting setting, IUserService service, ILinkingBankService bankService) { _Setting = setting; _Service = service; _bankService = bankService; }