зеркало из https://github.com/microsoft/git.git
Merge branch 'js/http-custom-headers'
Update tests for "http.extraHeaders=<header>" to be portable back to Apache 2.2 (the original depended on <RequireAll/> which is a more recent feature). * js/http-custom-headers: submodule: ensure that -c http.extraheader is heeded t5551: make the test for extra HTTP headers more robust tests: adjust the configuration for Apache 2.2
This commit is contained in:
Коммит
848b99b14e
|
@ -103,10 +103,6 @@ Alias /auth/dumb/ www/auth/dumb/
|
|||
Header set Set-Cookie name=value
|
||||
</LocationMatch>
|
||||
<LocationMatch /smart_headers/>
|
||||
<RequireAll>
|
||||
Require expr %{HTTP:x-magic-one} == 'abra'
|
||||
Require expr %{HTTP:x-magic-two} == 'cadabra'
|
||||
</RequireAll>
|
||||
SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
|
||||
SetEnv GIT_HTTP_EXPORT_ALL
|
||||
</LocationMatch>
|
||||
|
@ -136,6 +132,18 @@ RewriteRule ^/ftp-redir/(.*)$ ftp://localhost:1000/$1 [R=302]
|
|||
RewriteRule ^/loop-redir/x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-(.*) /$1 [R=302]
|
||||
RewriteRule ^/loop-redir/(.*)$ /loop-redir/x-$1 [R=302]
|
||||
|
||||
# Apache 2.2 does not understand <RequireAll>, so we use RewriteCond.
|
||||
# And as RewriteCond does not allow testing for non-matches, we match
|
||||
# the desired case first (one has abra, two has cadabra), and let it
|
||||
# pass by marking the RewriteRule as [L], "last rule, do not process
|
||||
# any other matching RewriteRules after this"), and then have another
|
||||
# RewriteRule that matches all other cases and lets them fail via '[F]',
|
||||
# "fail the request".
|
||||
RewriteCond %{HTTP:x-magic-one} =abra
|
||||
RewriteCond %{HTTP:x-magic-two} =cadabra
|
||||
RewriteRule ^/smart_headers/.* - [L]
|
||||
RewriteRule ^/smart_headers/.* - [F]
|
||||
|
||||
<IfDefine SSL>
|
||||
LoadModule ssl_module modules/mod_ssl.so
|
||||
|
||||
|
|
|
@ -283,10 +283,20 @@ test_expect_success EXPENSIVE 'http can handle enormous ref negotiation' '
|
|||
'
|
||||
|
||||
test_expect_success 'custom http headers' '
|
||||
test_must_fail git fetch "$HTTPD_URL/smart_headers/repo.git" &&
|
||||
test_must_fail git -c http.extraheader="x-magic-two: cadabra" \
|
||||
fetch "$HTTPD_URL/smart_headers/repo.git" &&
|
||||
git -c http.extraheader="x-magic-one: abra" \
|
||||
-c http.extraheader="x-magic-two: cadabra" \
|
||||
fetch "$HTTPD_URL/smart_headers/repo.git"
|
||||
fetch "$HTTPD_URL/smart_headers/repo.git" &&
|
||||
git update-index --add --cacheinfo 160000,$(git rev-parse HEAD),sub &&
|
||||
git config -f .gitmodules submodule.sub.path sub &&
|
||||
git config -f .gitmodules submodule.sub.url \
|
||||
"$HTTPD_URL/smart_headers/repo.git" &&
|
||||
git submodule init sub &&
|
||||
test_must_fail git submodule update sub &&
|
||||
git -c http.extraheader="x-magic-one: abra" \
|
||||
-c http.extraheader="x-magic-two: cadabra" \
|
||||
submodule update sub
|
||||
'
|
||||
|
||||
stop_httpd
|
||||
|
|
Загрузка…
Ссылка в новой задаче