Commit b6831f6f authored by Kershaw Chang's avatar Kershaw Chang
Browse files

Bug 1579049 - Part2: Expose proxy response error code in nsIProxiedChannel.idl r=mayhemer

Differential Revision: https://phabricator.services.mozilla.com/D51143

--HG--
extra : moz-landing-system : lando
parent 60f64860
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -144,11 +144,18 @@ XPC_MSG_DEF(NS_ERROR_FIRST_HEADER_FIELD_COMPONENT_EMPTY, "Couldn't extract first
XPC_MSG_DEF(NS_ERROR_ALREADY_CONNECTED              , "The connection is already established")
XPC_MSG_DEF(NS_ERROR_NOT_CONNECTED                  , "The connection does not exist")
XPC_MSG_DEF(NS_ERROR_CONNECTION_REFUSED             , "The connection was refused")

/* Error codes return from the proxy */
XPC_MSG_DEF(NS_ERROR_PROXY_CONNECTION_REFUSED           , "The connection to the proxy server was refused")
XPC_MSG_DEF(NS_ERROR_PROXY_AUTHENTICATION_FAILED        , "The proxy requires authentication")
XPC_MSG_DEF(NS_ERROR_PROXY_BAD_GATEWAY                  , "The request failed on the proxy")
XPC_MSG_DEF(NS_ERROR_PROXY_GATEWAY_TIMEOUT              , "The request timed out on the proxy")
XPC_MSG_DEF(NS_ERROR_PROXY_TOO_MANY_REQUESTS            , "Sending too many requests to a proxy")
XPC_MSG_DEF(NS_ERROR_PROXY_VERSION_NOT_SUPPORTED        , "The proxy does not support the version of the HTTP request")
XPC_MSG_DEF(NS_ERROR_PROXY_FORBIDDEN                    , "The user is banned from the proxy")
XPC_MSG_DEF(NS_ERROR_PROXY_SERVICE_UNAVAILABLE          , "The proxy is not available")
XPC_MSG_DEF(NS_ERROR_PROXY_UNAVAILABLE_FOR_LEGAL_REASONS, "The desired destination is unavailable for legal reasons")

XPC_MSG_DEF(NS_ERROR_NET_TIMEOUT                    , "The connection has timed out")
XPC_MSG_DEF(NS_ERROR_OFFLINE                        , "The requested action could not be completed in the offline state")
XPC_MSG_DEF(NS_ERROR_PORT_ACCESS_NOT_ALLOWED        , "Establishing a connection to an unsafe or otherwise banned port was prohibited")
+11 −2
Original line number Diff line number Diff line
@@ -22,6 +22,15 @@ interface nsIProxiedChannel : nsISupports
   * The returned proxy info must not be modified.
   */
  readonly attribute nsIProxyInfo proxyInfo;
};


  /**
   * The HTTP response code returned from the proxy to the CONNECT method.
   * The response code is only available when we get the response from
   * the proxy server, so this value is known in and after OnStartRequest.
   *
   * If CONNECT method is not used, httpProxyConnectResponseCode is always -1.
   * After OnStartRequest, httpProxyConnectResponseCode is the real HTTP
   * response code or 0 if we can't reach to the proxy.
   */
  readonly attribute int32_t httpProxyConnectResponseCode;
};
+5 −0
Original line number Diff line number Diff line
@@ -111,6 +111,11 @@ FTPChannelChild::GetEntityID(nsACString& aEntityID) {
NS_IMETHODIMP
FTPChannelChild::GetProxyInfo(nsIProxyInfo** aProxyInfo) { DROP_DEAD(); }

NS_IMETHODIMP FTPChannelChild::GetHttpProxyConnectResponseCode(
    int32_t* aResponseCode) {
  DROP_DEAD();
}

NS_IMETHODIMP
FTPChannelChild::SetUploadStream(nsIInputStream* aStream,
                                 const nsACString& aContentType,
+5 −0
Original line number Diff line number Diff line
@@ -81,6 +81,11 @@ nsFtpChannel::GetProxyInfo(nsIProxyInfo** aProxyInfo) {
  return NS_OK;
}

NS_IMETHODIMP nsFtpChannel::GetHttpProxyConnectResponseCode(
    int32_t* aResponseCode) {
  return NS_ERROR_NOT_IMPLEMENTED;
}

//-----------------------------------------------------------------------------

nsresult nsFtpChannel::OpenContentStream(bool async, nsIInputStream** result,
+5 −0
Original line number Diff line number Diff line
@@ -3191,6 +3191,11 @@ HttpChannelChild::ClearClassFlags(uint32_t inFlags) {
NS_IMETHODIMP
HttpChannelChild::GetProxyInfo(nsIProxyInfo** aProxyInfo) { DROP_DEAD(); }

NS_IMETHODIMP HttpChannelChild::GetHttpProxyConnectResponseCode(
    int32_t* aResponseCode) {
  DROP_DEAD();
}

//-----------------------------------------------------------------------------
// HttpChannelChild::nsIApplicationCacheContainer
//-----------------------------------------------------------------------------
Loading