diff --git a/mozilla/netwerk/protocol/http/src/nsHttpAtomList.h b/mozilla/netwerk/protocol/http/src/nsHttpAtomList.h index eb96bc53e7e..77096dae78f 100644 --- a/mozilla/netwerk/protocol/http/src/nsHttpAtomList.h +++ b/mozilla/netwerk/protocol/http/src/nsHttpAtomList.h @@ -38,16 +38,16 @@ /****** This file contains the list of all HTTP atoms - See nsHttp.h for access to the atoms + See nsHttp.h for access to the atoms. It is designed to be used as inline input to nsHttp.cpp *only* through the magic of C preprocessing. - All entires must be enclosed in the macro HTTP_ATOM which will have cruel - and unusual things done to it + All entries must be enclosed in the macro HTTP_ATOM which will have cruel + and unusual things done to it. - The first argument to HTTP_ATOM is the C++ name of the atom - The second argument it HTTP_ATOM is the string value of the atom + The first argument to HTTP_ATOM is the C++ name of the atom. + The second argument to HTTP_ATOM is the string value of the atom. ******/ HTTP_ATOM(Accept, "Accept") @@ -70,14 +70,19 @@ HTTP_ATOM(Content_MD5, "Content-MD5") HTTP_ATOM(Content_Range, "Content-Range") HTTP_ATOM(Content_Transfer_Encoding, "Content-Transfer-Encoding") HTTP_ATOM(Content_Type, "Content-Type") +HTTP_ATOM(Cookie, "Cookie") HTTP_ATOM(Date, "Date") +HTTP_ATOM(DAV, "DAV") +HTTP_ATOM(Depth, "Depth") HTTP_ATOM(Derived_From, "Derived-From") +HTTP_ATOM(Destination, "Destination") HTTP_ATOM(ETag, "Etag") HTTP_ATOM(Expect, "Expect") HTTP_ATOM(Expires, "Expires") -HTTP_ATOM(From, "From") HTTP_ATOM(Forwarded, "Forwarded") +HTTP_ATOM(From, "From") HTTP_ATOM(Host, "Host") +HTTP_ATOM(If, "If") HTTP_ATOM(If_Match, "If-Match") HTTP_ATOM(If_Match_Any, "If-Match-Any") HTTP_ATOM(If_Modified_Since, "If-Modified-Since") @@ -87,13 +92,14 @@ HTTP_ATOM(If_Range, "If-Range") HTTP_ATOM(If_Unmodified_Since, "If-Unmodified-Since") HTTP_ATOM(Keep_Alive, "Keep-Alive") HTTP_ATOM(Last_Modified, "Last-Modified") +HTTP_ATOM(Lock_Token, "Lock-Token") HTTP_ATOM(Link, "Link") HTTP_ATOM(Location, "Location") HTTP_ATOM(Max_Forwards, "Max-Forwards") HTTP_ATOM(Message_Id, "Message-Id") HTTP_ATOM(Mime, "Mime") +HTTP_ATOM(Overwrite, "Overwrite") HTTP_ATOM(Pragma, "Pragma") -HTTP_ATOM(Vary, "Vary") HTTP_ATOM(Proxy_Authenticate, "Proxy-Authenticate") HTTP_ATOM(Proxy_Authorization, "Proxy-Authorization") HTTP_ATOM(Proxy_Connection, "Proxy-Connection") @@ -101,18 +107,21 @@ HTTP_ATOM(Range, "Range") HTTP_ATOM(Referer, "Referer") HTTP_ATOM(Retry_After, "Retry-After") HTTP_ATOM(Server, "Server") +HTTP_ATOM(Set_Cookie, "Set-Cookie") +HTTP_ATOM(Set_Cookie2, "Set-Cookie2") +HTTP_ATOM(Status_URI, "Status-URI") HTTP_ATOM(TE, "TE") HTTP_ATOM(Title, "Title") +HTTP_ATOM(Timeout, "Timeout") HTTP_ATOM(Trailer, "Trailer") HTTP_ATOM(Transfer_Encoding, "Transfer-Encoding") -HTTP_ATOM(Upgrade, "Upgrade") HTTP_ATOM(URI, "URI") +HTTP_ATOM(Upgrade, "Upgrade") HTTP_ATOM(User_Agent, "User-Agent") +HTTP_ATOM(Vary, "Vary") HTTP_ATOM(Version, "Version") -HTTP_ATOM(Warning, "Warning") HTTP_ATOM(WWW_Authenticate, "WWW-Authenticate") -HTTP_ATOM(Set_Cookie, "Set-Cookie") -HTTP_ATOM(Cookie, "Cookie") +HTTP_ATOM(Warning, "Warning") // methods are atoms too. // @@ -120,13 +129,20 @@ HTTP_ATOM(Cookie, "Cookie") // just keep the methods mixedcase even though they're normally written all // uppercase -- darin -HTTP_ATOM(Options, "OPTIONS") -HTTP_ATOM(Head, "HEAD") -HTTP_ATOM(Post, "POST") -HTTP_ATOM(Put, "PUT") -HTTP_ATOM(Get, "GET") -HTTP_ATOM(Index, "INDEX") -HTTP_ATOM(Delete, "DELETE") -HTTP_ATOM(Trace, "TRACE") HTTP_ATOM(Connect, "CONNECT") +HTTP_ATOM(Copy, "COPY") +HTTP_ATOM(Delete, "DELETE") +HTTP_ATOM(Get, "GET") +HTTP_ATOM(Head, "HEAD") +HTTP_ATOM(Index, "INDEX") +HTTP_ATOM(Lock, "LOCK") HTTP_ATOM(M_Post, "M-POST") +HTTP_ATOM(Mkcol, "MKCOL") +HTTP_ATOM(Move, "MOVE") +HTTP_ATOM(Options, "OPTIONS") +HTTP_ATOM(Post, "POST") +HTTP_ATOM(Propfind, "PROPFIND") +HTTP_ATOM(Proppatch, "PROPPATCH") +HTTP_ATOM(Put, "PUT") +HTTP_ATOM(Trace, "TRACE") +HTTP_ATOM(Unlock, "UNLOCK") diff --git a/mozilla/netwerk/protocol/http/src/nsHttpChannel.cpp b/mozilla/netwerk/protocol/http/src/nsHttpChannel.cpp index ace853f4307..e2600837e3b 100644 --- a/mozilla/netwerk/protocol/http/src/nsHttpChannel.cpp +++ b/mozilla/netwerk/protocol/http/src/nsHttpChannel.cpp @@ -465,7 +465,9 @@ nsHttpChannel::SetupTransaction() // if (!mAllowPipelining || (mLoadFlags & LOAD_INITIAL_DOCUMENT_URI) || !(mRequestHead.Method() == nsHttp::Get || - mRequestHead.Method() == nsHttp::Head)) { + mRequestHead.Method() == nsHttp::Head || + mRequestHead.Method() == nsHttp::Propfind || + mRequestHead.Method() == nsHttp::Proppatch)) { LOG((" pipelining disallowed\n")); mCaps &= ~NS_HTTP_ALLOW_PIPELINING; } @@ -1224,14 +1226,13 @@ nsHttpChannel::OpenCacheEntry(PRBool offline, PRBool *delayed) nsresult nsHttpChannel::GenerateCacheKey(nsACString &cacheKey) { - cacheKey.SetLength(0); if (mPostID) { char buf[32]; - PR_snprintf(buf, sizeof(buf), "%x", mPostID); - cacheKey.Append("id="); - cacheKey.Append(buf); - cacheKey.Append("&uri="); - } + PR_snprintf(buf, sizeof(buf), "id=%x&uri=", mPostID); + cacheKey.Assign(buf); + } else + cacheKey.Truncate(); + // Strip any trailing #ref from the URL before using it as the key const char *spec = mSpec.get(); const char *p = strchr(spec, '#'); @@ -2413,9 +2414,11 @@ nsHttpChannel::PromptForIdentity(const char *scheme, GetCallback(NS_GET_IID(nsIAuthPromptProvider), getter_AddRefs(authPromptProvider)); if (authPromptProvider) { - PRUint32 promptReason = (proxyAuth ? - nsIAuthPromptProvider::PROMPT_PROXY : - nsIAuthPromptProvider::PROMPT_NORMAL); + PRUint32 promptReason; + if (proxyAuth) + promptReason = nsIAuthPromptProvider::PROMPT_PROXY; + else + promptReason = nsIAuthPromptProvider::PROMPT_NORMAL; (void) authPromptProvider->GetAuthPrompt(promptReason, getter_AddRefs(authPrompt)); } else diff --git a/mozilla/netwerk/protocol/http/src/nsHttpTransaction.cpp b/mozilla/netwerk/protocol/http/src/nsHttpTransaction.cpp index c4fd1aad4b5..b4cb13a8074 100644 --- a/mozilla/netwerk/protocol/http/src/nsHttpTransaction.cpp +++ b/mozilla/netwerk/protocol/http/src/nsHttpTransaction.cpp @@ -522,7 +522,7 @@ nsHttpTransaction::Close(nsresult reason) NS_RELEASE(mConnection); mStatus = reason; - mTransactionDone = PR_TRUE; // force this flag + mTransactionDone = PR_TRUE; // forcibly flag the transaction as complete mClosed = PR_TRUE; // release some resources that we no longer need @@ -534,7 +534,7 @@ nsHttpTransaction::Close(nsresult reason) mChunkedDecoder = nsnull; } - // closing this pipe signals triggers the channel's OnStopRequest method. + // closing this pipe triggers the channel's OnStopRequest method. mPipeOut->CloseWithStatus(reason); }