added: to misc:

UrlEncode() for char->wstring
         UrlEncode() for wstring->wstring
removed: Request::redirect_url_encoded flag
         the Request::redirect_to string should always be url-encoded
changed: in UrnEncode()
         now characters like '#' and '/' are not allowed in an url
         (will be url-encoded)
         


git-svn-id: svn://ttmath.org/publicrep/winix/trunk@807 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2012-02-19 00:59:08 +00:00
parent 1a51b1adc7
commit 97c7edafd6
7 changed files with 130 additions and 50 deletions

View File

@@ -178,8 +178,7 @@ void App::BaseUrlRedirect(int code)
system.PutUrlProto(config.use_ssl, cur.request->redirect_to);
cur.request->redirect_to += config.base_url;
AssignString(cur.request->env_request_uri, cur.request->redirect_to, false);
// cur.request->env_request_uri should not be UrlEncoded
cur.request->redirect_url_encoded = true;
// cur.request->env_request_uri should not be UrlEncoded because it contains slashes
cur.request->redirect_type = code;
}
@@ -727,11 +726,7 @@ void App::SendHeadersRedirect()
break;
}
if( !cur.request->redirect_url_encoded )
UrlEncode(cur.request->redirect_to, cur.request->aredirect_to);
else
PT::WideToUTF8(cur.request->redirect_to, cur.request->aredirect_to);
PT::WideToUTF8(cur.request->redirect_to, cur.request->aredirect_to);
FCGX_FPrintF(fcgi_request.out, "Location: %s\r\n", cur.request->aredirect_to.c_str());
log << log2 << "App: redirect to: " << cur.request->aredirect_to << logend;
}