public async Task <T> ExecuteAsync <T>(HttpRequest request) where T : LianLianPayNotifyResponse { if (request.HasFormContentType) { var parameters = await GetParametersAsync(request); var query = HttpClientEx.BuildQuery(parameters); Logger.LogInformation(0, "Request:{query}", query); var parser = new LianLianPayDictionaryParser <T>(); var rsp = parser.Parse(parameters); CheckNotifySign(parameters); return(rsp); } else if (request.HasTextJsonContentType()) { var body = await new StreamReader(request.Body).ReadToEndAsync(); Logger.LogInformation(0, "Request:{body}", body); var parser = new LianLianPayJsonParser <T>(); var rsp = parser.Parse(body); CheckNotifySign(rsp.Parameters); return(rsp); } else { throw new Exception("sign check fail: check Sign and Data Fail!"); } }
public async Task <T> ExecuteAsync <T>(HttpRequest request) where T : LianLianPayNotifyResponse { if (request.HasFormContentType) { var parameters = await GetParametersAsync(request); var query = LianLianPayUtility.BuildQuery(parameters); Logger?.LogTrace(0, "Request:{query}", query); var parser = new LianLianPayDictionaryParser <T>(); var rsp = parser.Parse(parameters); CheckNotifySign(parameters); return(rsp); } else if (request.HasTextJsonContentType()) { var body = await new StreamReader(request.Body).ReadToEndAsync(); Logger?.LogTrace(0, "Request:{body}", body); var parser = new LianLianPayJsonParser <T>(); var rsp = parser.Parse(body); CheckNotifySign(rsp.Parameters); return(rsp); } else { throw new Exception("content type is not supported"); } }
public async Task <T> ExecuteAsync <T>(HttpRequest request, string optionsName) where T : LianLianPayNotify { var options = _optionsSnapshotAccessor.Get(optionsName); if (request.HasFormContentType) { var parameters = await GetParametersAsync(request); var query = LianLianPayUtility.BuildQuery(parameters); _logger.Log(options.LogLevel, "Request:{query}", query); var parser = new LianLianPayDictionaryParser <T>(); var rsp = parser.Parse(parameters); CheckNotifySign(parameters, options); return(rsp); } if (request.HasTextJsonContentType()) { var body = await new StreamReader(request.Body).ReadToEndAsync(); _logger.Log(options.LogLevel, "Request:{body}", body); var parser = new LianLianPayJsonParser <T>(); var rsp = parser.Parse(body); CheckNotifySign(rsp.Parameters, options); return(rsp); } throw new LianLianPayException("content type is not supported"); }
public async Task <T> ExecuteAsync <T>(HttpRequest request, LianLianPayOptions options) where T : LianLianPayNotify { if (request.HasFormContentType) { var parameters = await GetParametersAsync(request); var parser = new LianLianPayDictionaryParser <T>(); var rsp = parser.Parse(parameters); CheckNotifySign(parameters, options); return(rsp); } if (request.HasTextJsonContentType()) { var body = await new StreamReader(request.Body).ReadToEndAsync(); var parser = new LianLianPayJsonParser <T>(); var rsp = parser.Parse(body); CheckNotifySign(rsp.Parameters, options); return(rsp); } throw new LianLianPayException("content type is not supported"); }