mirror of
https://github.com/git/git.git
synced 2024-11-04 16:27:54 +01:00
Merge branch 'tc/smart-http-post-redirect'
* tc/smart-http-post-redirect: smart-http: Don't change POST to GET when following redirect
This commit is contained in:
commit
feedaf43db
3 changed files with 20 additions and 0 deletions
5
http.c
5
http.c
|
@ -279,6 +279,11 @@ static CURL *get_curl_handle(void)
|
|||
}
|
||||
|
||||
curl_easy_setopt(result, CURLOPT_FOLLOWLOCATION, 1);
|
||||
#if LIBCURL_VERSION_NUM >= 0x071301
|
||||
curl_easy_setopt(result, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
|
||||
#elif LIBCURL_VERSION_NUM >= 0x071101
|
||||
curl_easy_setopt(result, CURLOPT_POST301, 1);
|
||||
#endif
|
||||
|
||||
if (getenv("GIT_CURL_VERBOSE"))
|
||||
curl_easy_setopt(result, CURLOPT_VERBOSE, 1);
|
||||
|
|
|
@ -17,6 +17,9 @@ ErrorLog error.log
|
|||
<IfModule !mod_env.c>
|
||||
LoadModule env_module modules/mod_env.so
|
||||
</IfModule>
|
||||
<IfModule !mod_rewrite.c>
|
||||
LoadModule rewrite_module modules/mod_rewrite.so
|
||||
</IFModule>
|
||||
|
||||
Alias /dumb/ www/
|
||||
|
||||
|
@ -36,6 +39,10 @@ ScriptAlias /smart_noexport/ ${GIT_EXEC_PATH}/git-http-backend/
|
|||
Options ExecCGI
|
||||
</Files>
|
||||
|
||||
RewriteEngine on
|
||||
RewriteRule ^/smart-redir-perm/(.*)$ /smart/$1 [R=301]
|
||||
RewriteRule ^/smart-redir-temp/(.*)$ /smart/$1 [R=302]
|
||||
|
||||
<IfDefine SSL>
|
||||
LoadModule ssl_module modules/mod_ssl.so
|
||||
|
||||
|
|
|
@ -101,5 +101,13 @@ test_expect_success 'used upload-pack service' '
|
|||
test_cmp exp act
|
||||
'
|
||||
|
||||
test_expect_success 'follow redirects (301)' '
|
||||
git clone $HTTPD_URL/smart-redir-perm/repo.git --quiet repo-p
|
||||
'
|
||||
|
||||
test_expect_success 'follow redirects (302)' '
|
||||
git clone $HTTPD_URL/smart-redir-temp/repo.git --quiet repo-t
|
||||
'
|
||||
|
||||
stop_httpd
|
||||
test_done
|
||||
|
|
Loading…
Reference in a new issue