Fix duration saying never when it's unlimited
This commit is contained in:
@@ -78,6 +78,14 @@ func TestFormatRoundTrips(t *testing.T) {
|
|||||||
if got, err := ParseDuration(FormatDuration(d)); err != nil || got != d {
|
if got, err := ParseDuration(FormatDuration(d)); err != nil || got != d {
|
||||||
t.Errorf("FormatDuration(%s) = %q, which parses back to %s (%v)", d, FormatDuration(d), got, err)
|
t.Errorf("FormatDuration(%s) = %q, which parses back to %s (%v)", d, FormatDuration(d), got, err)
|
||||||
}
|
}
|
||||||
|
// FormatLifetime reaches the upload form as the expiry placeholder, so
|
||||||
|
// what it prints has to be something a caller could type back.
|
||||||
|
if got, err := ParseDuration(FormatLifetime(d)); err != nil || got != d {
|
||||||
|
t.Errorf("FormatLifetime(%s) = %q, which parses back to %s (%v)", d, FormatLifetime(d), got, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if got := FormatLifetime(Unlimited); got != "unlimited" {
|
||||||
|
t.Errorf("FormatLifetime(Unlimited) = %q, want %q", got, "unlimited")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -103,6 +103,16 @@ func ParseDuration(s string) (time.Duration, error) {
|
|||||||
return d, nil
|
return d, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FormatLifetime renders a lifetime *limit*, where FormatDuration's "never"
|
||||||
|
// would describe the wrong thing: a ceiling of Unlimited is not a file that
|
||||||
|
// never expires, it is the absence of a ceiling.
|
||||||
|
func FormatLifetime(d time.Duration) string {
|
||||||
|
if d == Unlimited {
|
||||||
|
return "unlimited"
|
||||||
|
}
|
||||||
|
return FormatDuration(d)
|
||||||
|
}
|
||||||
|
|
||||||
// FormatDuration is the human-facing inverse of ParseDuration.
|
// FormatDuration is the human-facing inverse of ParseDuration.
|
||||||
func FormatDuration(d time.Duration) string {
|
func FormatDuration(d time.Duration) string {
|
||||||
switch {
|
switch {
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ func (s *Server) adminTokens() []adminToken {
|
|||||||
out = append(out, adminToken{
|
out = append(out, adminToken{
|
||||||
Name: t.Name,
|
Name: t.Name,
|
||||||
MaxSize: config.FormatSize(l.MaxSize),
|
MaxSize: config.FormatSize(l.MaxSize),
|
||||||
MaxExpiry: config.FormatDuration(l.MaxExpiry),
|
MaxExpiry: config.FormatLifetime(l.MaxExpiry),
|
||||||
Vanity: l.AllowVanity,
|
Vanity: l.AllowVanity,
|
||||||
Admin: l.Admin,
|
Admin: l.Admin,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ func (s *Server) handleLoginPage(w http.ResponseWriter, r *http.Request) {
|
|||||||
page: s.page(r, "Log in", false),
|
page: s.page(r, "Log in", false),
|
||||||
Next: next,
|
Next: next,
|
||||||
MaxSize: config.FormatSize(lim.MaxSize),
|
MaxSize: config.FormatSize(lim.MaxSize),
|
||||||
MaxExpiry: config.FormatDuration(lim.MaxExpiry),
|
MaxExpiry: config.FormatLifetime(lim.MaxExpiry),
|
||||||
Vanity: lim.AllowVanity,
|
Vanity: lim.AllowVanity,
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ func (s *Server) handleIndex(w http.ResponseWriter, r *http.Request) {
|
|||||||
s.render(w, http.StatusOK, "index.html", indexPage{
|
s.render(w, http.StatusOK, "index.html", indexPage{
|
||||||
page: s.page(r, "Upload", true),
|
page: s.page(r, "Upload", true),
|
||||||
MaxSize: config.FormatSize(lim.MaxSize),
|
MaxSize: config.FormatSize(lim.MaxSize),
|
||||||
MaxExpiry: config.FormatDuration(lim.MaxExpiry),
|
MaxExpiry: config.FormatLifetime(lim.MaxExpiry),
|
||||||
DefaultExpiry: config.FormatDuration(lim.DefaultExpiry),
|
DefaultExpiry: config.FormatLifetime(lim.DefaultExpiry),
|
||||||
AbsBase: s.absBase(r),
|
AbsBase: s.absBase(r),
|
||||||
AllowVanity: lim.AllowVanity,
|
AllowVanity: lim.AllowVanity,
|
||||||
MaxSizeBytes: lim.MaxSize,
|
MaxSizeBytes: lim.MaxSize,
|
||||||
|
|||||||
Reference in New Issue
Block a user