X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=fetch.go;h=d5cce10057e01d21a46ace24deac610c8c9e5d34;hb=1002c514a8530bb6608c556b4446e853be390917;hp=ba1bbc8f4bde2019503102a1100ea1cf01bcc0a0;hpb=526f6f1db39bde8ca1f7684225a3983634bddafe;p=nsscash%2Fnsscash.git diff --git a/fetch.go b/fetch.go index ba1bbc8..d5cce10 100644 --- a/fetch.go +++ b/fetch.go @@ -1,6 +1,6 @@ // Download files via HTTP with support for If-Modified-Since -// Copyright (C) 2019 Simon Ruderich +// Copyright (C) 2019-2020 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 @@ -36,14 +36,17 @@ func init() { 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]