Added a temporary hack to get Referer fields with POST requests. This should/will/must go away...

This commit is contained in:
gagan%netscape.com 1999-08-04 15:06:14 +00:00
Родитель 7e2f23ac4e
Коммит a8bd69174a
1 изменённых файлов: 26 добавлений и 0 удалений

Просмотреть файл

@ -728,6 +728,25 @@ void nsFormFrame::ProcessAsURLEncoded(PRBool isPost, nsString& aData, nsIFormCon
} }
NS_IF_RELEASE(encoder); NS_IF_RELEASE(encoder);
// Use the base URL as a referer for now
nsIURI* docURL = nsnull;
nsIDocument* doc = nsnull;
mContent->GetDocument(doc);
while (doc && !docURL) {
doc->GetBaseURL(docURL);
if (!docURL) {
doc = GetParentHTMLFrameDocument(doc);
if (!doc) break;
}
}
NS_IF_RELEASE(doc);
char* spec = nsnull;
if (docURL)
{
docURL->GetSpec(&spec);
}
NS_IF_RELEASE(docURL);
aData.SetLength(0); aData.SetLength(0);
if (isPost) { if (isPost) {
char size[16]; char size[16];
@ -740,6 +759,13 @@ void nsFormFrame::ProcessAsURLEncoded(PRBool isPost, nsString& aData, nsIFormCon
aData += charset; aData += charset;
#endif #endif
aData += CRLF; aData += CRLF;
if (spec)
{
aData += "Referer: ";
aData += spec;
nsCRT::free(spec);
aData += CRLF;
}
aData += "Content-Length: "; aData += "Content-Length: ";
aData += size; aData += size;
aData += CRLF; aData += CRLF;