// Download files via HTTP with support for If-Modified-Since
-// Copyright (C) 2019 Simon Ruderich
+// Copyright (C) 2019-2021 Simon Ruderich
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
clients[""] = &http.Client{}
}
-func fetchIfModified(url, ca string, lastModified *time.Time) (int, []byte, error) {
+func fetchIfModified(url, user, pass, ca string, lastModified *time.Time) (int, []byte, error) {
req, err := http.NewRequest("GET", url, nil)
if err != nil {
return 0, nil, err
}
+ if user != "" || pass != "" {
+ req.SetBasicAuth(user, pass)
+ }
if !lastModified.IsZero() {
req.Header.Add("If-Modified-Since",
- lastModified.Format(http.TimeFormat))
+ lastModified.UTC().Format(http.TimeFormat))
}
client, ok := clients[ca]