internal GeckoResponse(nsIRequest request) { // we use only one wrapper _request = Request.WrapRequest( request ); if ( _request is Channel ) { _channel = ( Channel ) _request; if ( _channel is HttpChannel ) { _httpChannel = ( HttpChannel ) _channel; } } }
protected virtual void Response(HttpChannel channel) { }
protected virtual void Request(HttpChannel channel) { }
protected virtual void ObserveRequest(HttpChannel channel) { }
/// <summary> /// Creates HttpChannel directly from nsISupports /// </summary> /// <param name="supports"></param> /// <returns></returns> public static HttpChannel Create(nsISupports supports) { //int count = Interop.ComDebug.GetRcwRefCount(supports); var channel = Xpcom.QueryInterface<nsIHttpChannel>(supports); if (channel == null) return null; Marshal.ReleaseComObject(channel); var ret = new HttpChannel((nsIHttpChannel)supports); //var count2=Interop.ComDebug.GetRcwRefCount( supports ); return ret; }
/// <summary>Creates a new instance of a <see cref="GeckoObserveHttpModifyRequestEventArgs"/> object.</summary> /// <param name="uri">Uri</param> /// <param name="refVal">Referrer</param> /// <param name="reqMethod">Request Method</param> /// <param name="reqBody">Request Body</param> /// <param name="reqHeaders">Request Headers</param> /// <param name="httpChan">Reference to Http Channel</param> /// <param name="bodyContainsHeaders">Does ReqBody contain the headers</param> public GeckoObserveHttpModifyRequestEventArgs(Uri uri, Uri refVal, String reqMethod, Byte[] reqBody, List<KeyValuePair<string, string>> reqHeaders, HttpChannel httpChan, bool? bodyContainsHeaders) : base(false) { Uri = uri; Referrer = refVal; RequestMethod = reqMethod; RequestBody = reqBody; RequestHeaders = reqHeaders; Channel = httpChan; ReqBodyContainsHeaders = bodyContainsHeaders; }