Example #1
0
        // Token: 0x0600052D RID: 1325 RVA: 0x0001CB04 File Offset: 0x0001AD04
        protected override StreamProxy BuildRequestStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, byte[] buffer)
        {
            if (base.IsWsSecurityRequest || !base.ClientRequest.CanHaveBody())
            {
                return(base.BuildRequestStreamProxy(streamProxyType, source, target, buffer));
            }
            if (!this.isOwa14EwsProxyRequest && !base.ProxyToDownLevel && !this.proxyForSameOrgExchangeOAuthCallToLowerVersion)
            {
                return(base.BuildRequestStreamProxy(streamProxyType, source, target, buffer));
            }
            string requestVersionToAdd = null;

            if (this.isOwa14EwsProxyRequest)
            {
                if ("12.1".Equals(base.HttpContext.Request.QueryString["rv"]))
                {
                    requestVersionToAdd = "Exchange2007_SP1";
                }
                else
                {
                    requestVersionToAdd = "Exchange2010_SP1";
                }
            }
            return(new EwsRequestStreamProxy(streamProxyType, source, target, buffer, this, base.ProxyToDownLevel || this.proxyForSameOrgExchangeOAuthCallToLowerVersion, this.proxyForSameOrgExchangeOAuthCallToLowerVersionWithNoSidUser, requestVersionToAdd));
        }
Example #2
0
 // Token: 0x060003A2 RID: 930 RVA: 0x00014947 File Offset: 0x00012B47
 public StreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, byte[] buffer, IRequestContext requestContext) : this(streamProxyType, source, target, requestContext)
 {
     if (buffer == null)
     {
         throw new ArgumentNullException("buffer");
     }
     this.buffer = buffer;
 }
 // Token: 0x060006F4 RID: 1780 RVA: 0x00029081 File Offset: 0x00027281
 protected override StreamProxy BuildResponseStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, byte[] buffer)
 {
     if (!LoggerHelper.IsProbePingRequest(base.ClientRequest) && WinRMHelper.FriendlyErrorEnabled.Value)
     {
         return(new RpsOutDataResponseStreamProxy(streamProxyType, source, target, buffer, this));
     }
     return(base.BuildResponseStreamProxy(streamProxyType, source, target, buffer));
 }
Example #4
0
 protected override StreamProxy BuildRequestStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, byte[] buffer)
 {
     if (OwaProxyRequestHandler.IsPLTPostRequest(base.ClientRequest))
     {
         return(new OwaPLTStreamProxy(streamProxyType, source, target, buffer, this));
     }
     return(base.BuildRequestStreamProxy(streamProxyType, source, target, buffer));
 }
Example #5
0
 // Token: 0x060003BC RID: 956 RVA: 0x00015140 File Offset: 0x00013340
 private void OnReadComplete(object asyncState)
 {
     Diagnostics.SendWatsonReportOnUnhandledException(delegate()
     {
         IAsyncResult asyncResult = (IAsyncResult)asyncState;
         this.LogElapsedTime("E_OnReadComp");
         try
         {
             object obj = this.lockObject;
             lock (obj)
             {
                 if (ExTraceGlobals.VerboseTracer.IsTraceEnabled(1))
                 {
                     ExTraceGlobals.VerboseTracer.TraceDebug <int, StreamProxy.StreamProxyType>((long)this.GetHashCode(), "[StreamProxy::OnReadComplete] Context: {0}, Type :{1}. ", this.requestContext.TraceContext, this.proxyType);
                 }
                 int num          = this.sourceStream.EndRead(asyncResult);
                 this.streamState = StreamProxy.StreamProxyState.None;
                 if (num > 0)
                 {
                     StreamProxy.StreamProxyType streamProxyType = this.proxyType;
                     if (streamProxyType != StreamProxy.StreamProxyType.Request)
                     {
                         if (streamProxyType == StreamProxy.StreamProxyType.Response)
                         {
                             PerfCounters.HttpProxyCountersInstance.TotalBytesOut.IncrementBy((long)num);
                         }
                     }
                     else
                     {
                         PerfCounters.HttpProxyCountersInstance.TotalBytesIn.IncrementBy((long)num);
                     }
                     this.requestContext.LatencyTracker.LogElapsedTimeAsLatency(this.requestContext.Logger, LatencyTrackerKey.StreamingLatency, this.GetReadProtocolLogKey());
                     this.numberOfBytesInBuffer   = num;
                     this.numberOfReadsCompleted += 1L;
                     this.totalBytesProxied      += (long)num;
                     this.BeginSend(num);
                 }
                 else
                 {
                     this.Complete(null);
                 }
             }
         }
         catch (Exception ex)
         {
             if (ExTraceGlobals.VerboseTracer.IsTraceEnabled(3))
             {
                 ExTraceGlobals.VerboseTracer.TraceError <int, StreamProxy.StreamProxyType, Exception>((long)this.GetHashCode(), "[StreamProxy::OnReadComplete] Context: {0}, Type :{1}. Error occured thrown when processing read. Exception: {2}", this.requestContext.TraceContext, this.proxyType, ex);
             }
             this.Complete(ex);
         }
         finally
         {
             this.LogElapsedTime("L_OnReadComp");
         }
     }, new Diagnostics.LastChanceExceptionHandler(RequestDetailsLogger.LastChanceExceptionHandler));
 }
Example #6
0
 // Token: 0x060003A3 RID: 931 RVA: 0x0001496C File Offset: 0x00012B6C
 public StreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, BufferPoolCollection.BufferSize maxBufferPoolSize, BufferPoolCollection.BufferSize minBufferPoolSize, IRequestContext requestContext) : this(streamProxyType, source, target, requestContext)
 {
     this.maxBufferPoolSize     = maxBufferPoolSize;
     this.minBufferPoolSize     = minBufferPoolSize;
     this.currentBufferPoolSize = minBufferPoolSize;
     this.currentBufferPool     = BufferPoolCollection.AutoCleanupCollection.Acquire(this.currentBufferPoolSize);
     this.buffer             = this.currentBufferPool.Acquire();
     this.previousBufferSize = this.buffer.Length;
 }
Example #7
0
 // Token: 0x060003A4 RID: 932 RVA: 0x000149D4 File Offset: 0x00012BD4
 private StreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, IRequestContext requestContext)
 {
     if (source == null)
     {
         throw new ArgumentNullException("source");
     }
     if (target == null)
     {
         throw new ArgumentNullException("target");
     }
     if (requestContext == null)
     {
         throw new ArgumentException("requestContext");
     }
     this.disposeTracker = this.GetDisposeTracker();
     this.isDisposed     = false;
     this.proxyType      = streamProxyType;
     this.sourceStream   = source;
     this.targetStream   = target;
     this.requestContext = requestContext;
 }
 public EwsRequestStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, byte[] buffer, IRequestContext requestContext, bool shouldInsertSecurityContext, bool shouldInsertFreeBusyDefaultSecurityContext, string requestVersionToAdd) : base(streamProxyType, source, target, buffer, requestContext)
 {
     this.shouldInsertSecurityContext = shouldInsertSecurityContext;
     this.shouldInsertFreeBusyDefaultSecurityContext = shouldInsertFreeBusyDefaultSecurityContext;
     this.requestVersionToAdd = requestVersionToAdd;
 }
 // Token: 0x0600070A RID: 1802 RVA: 0x00029618 File Offset: 0x00027818
 protected override StreamProxy BuildResponseStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, byte[] buffer)
 {
     return(this.BuildResponseStream(() => new RpcHttpOutDataResponseStreamProxy(streamProxyType, source, target, buffer, this), () => this.< > n__0(streamProxyType, source, target, buffer)));
 }
 // Token: 0x0600070B RID: 1803 RVA: 0x00029670 File Offset: 0x00027870
 protected override StreamProxy BuildResponseStreamProxySmartSizing(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target)
 {
     return(this.BuildResponseStream(() => new RpcHttpOutDataResponseStreamProxy(streamProxyType, source, target, HttpProxySettings.ResponseBufferSize.Value, HttpProxySettings.MinimumResponseBufferSize.Value, this), () => this.< > n__1(streamProxyType, source, target)));
 }
Example #11
0
 // Token: 0x0600037B RID: 891 RVA: 0x00013D18 File Offset: 0x00011F18
 internal RpcHttpOutDataResponseStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, BufferPoolCollection.BufferSize maxBufferSize, BufferPoolCollection.BufferSize minBufferSize, IRequestContext requestContext) : base(streamProxyType, source, target, maxBufferSize, minBufferSize, requestContext)
 {
     this.connectTimeout = RpcHttpOutDataResponseStreamProxy.RpcHttpOutConnectingTimeoutInSeconds.Value;
     this.isConnecting   = (this.connectTimeout != TimeSpan.Zero);
 }
Example #12
0
 // Token: 0x0600037A RID: 890 RVA: 0x00013CD8 File Offset: 0x00011ED8
 internal RpcHttpOutDataResponseStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, byte[] buffer, IRequestContext requestContext) : base(streamProxyType, source, target, buffer, requestContext)
 {
     this.connectTimeout = RpcHttpOutDataResponseStreamProxy.RpcHttpOutConnectingTimeoutInSeconds.Value;
     this.isConnecting   = (this.connectTimeout != TimeSpan.Zero);
 }
Example #13
0
 internal RpsOutDataResponseStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, byte[] buffer, IRequestContext requestContext) : base(streamProxyType, source, target, buffer, requestContext)
 {
 }
 internal OwaPLTStreamProxy(StreamProxy.StreamProxyType streamProxyType, Stream source, Stream target, byte[] buffer, IRequestContext requestContext) : base(streamProxyType, source, target, buffer, requestContext)
 {
 }