public void ProcessRequest(HttpContext context) { Global.Logger.Debug("ThirdPartyApp: handler request - " + context.Request.Url); var message = string.Empty; try { var app = ThirdPartySelector.GetApp(context.Request[ThirdPartySelector.AppAttr]); Global.Logger.Debug("ThirdPartyApp: app - " + app); if (app.Request(context)) { return; } } catch (ThreadAbortException) { //Thats is responce ending return; } catch (Exception e) { Global.Logger.Error("ThirdPartyApp", e); message = e.Message; } if (string.IsNullOrEmpty(message)) { if ((context.Request["error"] ?? "").ToLower() == "access_denied") { message = context.Request["error_description"] ?? FilesCommonResource.AppAccessDenied; } } var redirectUrl = CommonLinkUtility.GetDefault(); if (!string.IsNullOrEmpty(message)) { if (SecurityContext.IsAuthenticated) { redirectUrl += "#error/" + HttpUtility.UrlEncode(message); } else { redirectUrl = string.Format("~/Auth.aspx?am={0}", (int)Studio.Auth.MessageKey.Error); } } context.Response.Redirect(redirectUrl, true); }
public async Task Invoke(HttpContext context) { Log.Debug("ThirdPartyApp: handler request - " + context.Request.Url()); var message = string.Empty; try { var app = ThirdPartySelector.GetApp(context.Request.Query[ThirdPartySelector.AppAttr]); Log.Debug("ThirdPartyApp: app - " + app); if (app.Request(context)) { await Next.Invoke(context); return; } } catch (ThreadAbortException) { await Next.Invoke(context); //Thats is responce ending return; } catch (Exception e) { Log.Error("ThirdPartyApp", e); message = e.Message; } if (string.IsNullOrEmpty(message)) { if ((context.Request.Query["error"].FirstOrDefault() ?? "").ToLower() == "access_denied") { message = context.Request.Query["error_description"].FirstOrDefault() ?? FilesCommonResource.AppAccessDenied; } } var redirectUrl = CommonLinkUtility.GetDefault(); if (!string.IsNullOrEmpty(message)) { redirectUrl += AuthContext.IsAuthenticated ? "#error/" : "?m="; redirectUrl += HttpUtility.UrlEncode(message); } context.Response.Redirect(redirectUrl, true); await Next.Invoke(context); }