Merge pull request #788 from hbog/proxy_cache_valid

Add support for multiple 'proxy_cache_valid' directives
This commit is contained in:
Matthew Haughton 2016-04-12 18:09:21 -04:00
commit fe0af9e4e6
4 changed files with 20 additions and 5 deletions

View file

@ -296,7 +296,9 @@ define nginx::resource::location (
validate_string($proxy_cache_use_stale) validate_string($proxy_cache_use_stale)
} }
if ($proxy_cache_valid != false) { if ($proxy_cache_valid != false) {
validate_string($proxy_cache_valid) if !(is_array($proxy_cache_valid) or is_string($proxy_cache_valid)) {
fail('$proxy_cache_valid must be a string or an array or false.')
}
} }
if ($proxy_method != undef) { if ($proxy_method != undef) {
validate_string($proxy_method) validate_string($proxy_method)

View file

@ -377,7 +377,9 @@ define nginx::resource::vhost (
validate_string($proxy_cache_use_stale) validate_string($proxy_cache_use_stale)
} }
if ($proxy_cache_valid != false) { if ($proxy_cache_valid != false) {
validate_string($proxy_cache_valid) if !(is_array($proxy_cache_valid) or is_string($proxy_cache_valid)) {
fail('$proxy_cache_valid must be a string or an array or false.')
}
} }
if ($proxy_method != undef) { if ($proxy_method != undef) {
validate_string($proxy_method) validate_string($proxy_method)

View file

@ -599,11 +599,20 @@ describe 'nginx::resource::location' do
:notmatch => /proxy_cache_valid\b/ :notmatch => /proxy_cache_valid\b/
}, },
{ {
:title => 'should set proxy_cache_valid', :title => 'should set proxy_cache_valid when string',
:attr => 'proxy_cache_valid', :attr => 'proxy_cache_valid',
:value => 'value', :value => 'value',
:match => /^\s+proxy_cache_valid\s+value;/, :match => /^\s+proxy_cache_valid\s+value;/,
}, },
{
:title => 'should set proxy_cache_valid when array of strings',
:attr => 'proxy_cache_valid',
:value => ['value1','value2'],
:match => [
/^\s+proxy_cache_valid\s+value1;/,
/^\s+proxy_cache_valid\s+value2;/,
]
},
{ {
:title => 'should not set proxy_cache', :title => 'should not set proxy_cache',
:attr => 'proxy_cache', :attr => 'proxy_cache',

View file

@ -16,8 +16,10 @@
<% if @proxy_cache -%> <% if @proxy_cache -%>
proxy_cache <%= @proxy_cache %>; proxy_cache <%= @proxy_cache %>;
<% end -%> <% end -%>
<% if @proxy_cache_valid -%> <% if @proxy_cache_valid && Array(@proxy_cache_valid).size > 0 -%>
proxy_cache_valid <%= @proxy_cache_valid %>; <%- Array(@proxy_cache_valid).each do |line| -%>
proxy_cache_valid <%= line %>;
<%- end -%>
<% end -%> <% end -%>
<% if @proxy_cache_use_stale -%> <% if @proxy_cache_use_stale -%>
proxy_cache_use_stale <%= @proxy_cache_use_stale %>; proxy_cache_use_stale <%= @proxy_cache_use_stale %>;