public async Task InvokeAsync(HttpContext context, IUcApi ucApi, IUcConfig ucConfig, UcUtility ucUtility) { NameValueCollection tempQs = new NameValueCollection(); tempQs = HttpUtility.ParseQueryString(context.Request.QueryString.Value); string code = tempQs["code"]; NameValueCollection queryString = HttpUtility.ParseQueryString(ucUtility.AuthCodeDecode(code)); string formData = ""; // context.Request.Form.ToString(); var requestReader = new StreamReader(context.Request.Body); string requestContent = await requestReader.ReadToEndAsync(); formData = requestContent; UcApiWrapper ucApiWrapper = new UcApiWrapper(code, queryString, formData, ucConfig, ucApi, ucUtility); string responseStr = ucApiWrapper.Process(); if (ucApiWrapper.IsNeedHeaders) { foreach (var item in ucApiWrapper.Headers) { context.Response.Headers.Add(item.Key, item.Value); } } await context.Response.WriteAsync(responseStr); }
public UcApiWrapper(string code, NameValueCollection queryString, string formData, IUcConfig ucConfig, IUcApi ucApi, UcUtility ucUtility) { this.Code = code; this.QueryString = queryString; this.FormData = formData; Action = QueryString["action"]; long time; if (long.TryParse(QueryString["time"], out time)) { Time = time; } IsInvalidRequest = QueryString.Count == 0 && UcActions.Contains(Action); IsAuthracationExpiried = (UcUtility.PhpTimeNow() - Time) > 0xe10; this._ucConfig = ucConfig; this._ucApi = ucApi; this._ucUtility = ucUtility; }