Exemplo n.º 1
0
 internal static bool IsObsoleteRequest(RequestContext requestContext, IMailboxContext userContext)
 {
     if (requestContext.RequestType == OwaRequestType.Oeh && userContext == null)
     {
         string queryStringParameter  = HttpUtilities.GetQueryStringParameter(requestContext.HttpContext.Request, "ns", false);
         string queryStringParameter2 = HttpUtilities.GetQueryStringParameter(requestContext.HttpContext.Request, "ev", false);
         string queryStringParameter3 = HttpUtilities.GetQueryStringParameter(requestContext.HttpContext.Request, "Fn", false);
         return(queryStringParameter == "PendingRequest" && queryStringParameter2 == "FinishNotificationRequest" && queryStringParameter3 == "1");
     }
     return(false);
 }
Exemplo n.º 2
0
        // Token: 0x060010D2 RID: 4306 RVA: 0x0003FFF0 File Offset: 0x0003E1F0
        public IHttpHandler GetHandler(HttpContext httpContext, string requestType, string url, string pathTranslated)
        {
            ExTraceGlobals.OehCallTracer.TraceDebug(0L, "OwaEventHandlerFactory.GetHandler");
            string queryStringParameter  = HttpUtilities.GetQueryStringParameter(httpContext.Request, "ns");
            string queryStringParameter2 = HttpUtilities.GetQueryStringParameter(httpContext.Request, "ev");

            ExTraceGlobals.OehDataTracer.TraceDebug <string, string>(0L, "Request namespace: '{0}', event: '{1}'", queryStringParameter, queryStringParameter2);
            HttpApplication  applicationInstance = httpContext.ApplicationInstance;
            OwaEventRegistry owaEventRegistry    = (OwaEventRegistry)applicationInstance.Application["OwaEventRegistry"];

            if (owaEventRegistry == null)
            {
                HttpUtilities.EndResponse(httpContext, HttpStatusCode.MethodNotAllowed);
                return(null);
            }
            OwaEventNamespaceAttribute owaEventNamespaceAttribute = owaEventRegistry.FindNamespaceInfo(queryStringParameter);

            if (owaEventNamespaceAttribute == null)
            {
                throw new OwaException(string.Format(CultureInfo.InvariantCulture, "Namespace '{0}' doesn't exist", new object[]
                {
                    queryStringParameter
                }), null, this);
            }
            OwaEventAttribute owaEventAttribute = owaEventNamespaceAttribute.FindEventInfo(queryStringParameter2);

            if (owaEventAttribute == null)
            {
                throw new OwaException(string.Format(CultureInfo.InvariantCulture, "Event '{0}' doesn't exist", new object[]
                {
                    queryStringParameter2
                }), null, this);
            }
            OwaEventVerb owaEventVerb = OwaEventVerbAttribute.Parse(httpContext.Request.HttpMethod);

            ExTraceGlobals.OehDataTracer.TraceDebug <string>(0L, "Request verb: {0}", httpContext.Request.HttpMethod);
            if ((owaEventAttribute.AllowedVerbs & owaEventVerb) == OwaEventVerb.Unsupported)
            {
                ExTraceGlobals.OehTracer.TraceDebug <OwaEventVerb, OwaEventVerb>(0L, "Verb is not allowed, returning 405. Actual verb: {0}. Allowed: {1}.", owaEventVerb, owaEventAttribute.AllowedVerbs);
                HttpUtilities.EndResponse(httpContext, HttpStatusCode.MethodNotAllowed);
                return(null);
            }
            OwaEventHandlerBase owaEventHandlerBase = (OwaEventHandlerBase)Activator.CreateInstance(owaEventNamespaceAttribute.HandlerType);

            owaEventHandlerBase.EventInfo = owaEventAttribute;
            owaEventHandlerBase.Verb      = owaEventVerb;
            if (owaEventAttribute.IsAsync)
            {
                ExTraceGlobals.OehTracer.TraceDebug(0L, "Created async HTTP handler to server OEH request");
                return(new OwaEventAsyncHttpHandler(owaEventHandlerBase));
            }
            return(new OwaEventHttpHandler(owaEventHandlerBase));
        }
 // Token: 0x06000D6B RID: 3435 RVA: 0x00032D30 File Offset: 0x00030F30
 internal ChunkedHttpResponse(HttpContext context)
 {
     this.Response = context.Response;
     HttpUtilities.MakePageNoCacheNoStore(this.Response);
     this.evalChunksNotSupportedByXmlhttpRequest = (HttpUtilities.GetQueryStringParameter(context.Request, "ecnsq", false) == "1");
     this.browserNameQueryParamValue             = HttpUtilities.GetQueryStringParameter(context.Request, "brwnm", false);
     this.userAgent = new UserAgent(context.Request.UserAgent, UserContextManager.GetUserContext(context).FeaturesManager.ClientServerSettings.ChangeLayout.Enabled, context.Request.Cookies);
     this.accountValidationContext = (context.Items["AccountValidationContext"] as IAccountValidationContext);
     this.Response.BufferOutput    = false;
     this.Response.Buffer          = false;
     this.Response.ContentType     = "text/html; charset=UTF-8";
     this.Response.AddHeader("Transfer-Encoding", "chunked");
     if ((string.Equals("iPhone", this.userAgent.Platform) || string.Equals("iPad", this.userAgent.Platform)) && ((this.userAgent.Browser == "Safari" && this.userAgent.BrowserVersion.Build > 5) || this.browserNameQueryParamValue == "safari"))
     {
         this.Response.AddHeader("X-FromBackEnd-ClientConnection", "close");
     }
     if (!this.evalChunksNotSupportedByXmlhttpRequest)
     {
         this.Response.TrySkipIisCustomErrors = true;
     }
     this.streamWriter = PendingRequestUtilities.CreateStreamWriter(this.Response.OutputStream);
     this.WriteFirstChunk();
 }
 public static bool IsChangePasswordLogoff(HttpRequest request)
 {
     return(HttpUtilities.GetQueryStringParameter(request, "ChgPwd", false) == "1");
 }
 // Token: 0x0600108A RID: 4234 RVA: 0x0003F65E File Offset: 0x0003D85E
 public static string GetQueryStringParameter(HttpRequest httpRequest, string name)
 {
     return(HttpUtilities.GetQueryStringParameter(httpRequest, name, true));
 }