Fix max expiry when provided expiry is 0
Previously, we did not properly handle the case where the provided expiry was zero and the max expiry was configured to be nonzero; add an additional check to cover this case. Fixes #111.
This commit is contained in:
parent
0e768cc6f4
commit
647aa2c0f6
2 changed files with 4 additions and 2 deletions
|
@ -450,7 +450,9 @@ func TestPostJSONUploadMaxExpiry(t *testing.T) {
|
|||
mux := setup()
|
||||
Config.maxExpiry = 300
|
||||
|
||||
testExpiries := []string{"86400", "-150"}
|
||||
// include 0 to test edge case
|
||||
// https://github.com/andreimarcu/linx-server/issues/111
|
||||
testExpiries := []string{"86400", "-150", "0"}
|
||||
for _, expiry := range testExpiries {
|
||||
w := httptest.NewRecorder()
|
||||
|
||||
|
|
|
@ -349,7 +349,7 @@ func parseExpiry(expStr string) time.Duration {
|
|||
if err != nil {
|
||||
return time.Duration(Config.maxExpiry) * time.Second
|
||||
} else {
|
||||
if Config.maxExpiry > 0 && expiry > Config.maxExpiry {
|
||||
if Config.maxExpiry > 0 && (expiry > Config.maxExpiry || expiry == 0) {
|
||||
expiry = Config.maxExpiry
|
||||
}
|
||||
return time.Duration(expiry) * time.Second
|
||||
|
|
Loading…
Reference in a new issue