diff options
author | Laria Carolin Chabowski <laria@laria.me> | 2022-01-11 23:39:30 +0100 |
---|---|---|
committer | Laria Carolin Chabowski <laria@laria.me> | 2022-01-11 23:40:14 +0100 |
commit | 2d73e0567c9ac6e03cfc8bfc62a8f24ef4fadebc (patch) | |
tree | 6eb596532249711e9f01f3c8f214cc8d61bc0ca5 /http_getter | |
parent | 67852eb58e1797a54a34df44e3444829d9031ad7 (diff) | |
download | startpage-2d73e0567c9ac6e03cfc8bfc62a8f24ef4fadebc.tar.gz startpage-2d73e0567c9ac6e03cfc8bfc62a8f24ef4fadebc.tar.bz2 startpage-2d73e0567c9ac6e03cfc8bfc62a8f24ef4fadebc.zip |
The old XML API will be discontinued next month and is already returning
errors occasionally (apparently to nudge lazy devs like me to update their
code :D).
We're also doing a much better job at caching now, as suggested by the API
documentation.
We're not yet showing a weather icon, I still have to figure out how to do
this now (apparently the weather icons are a separate API / actually just a
tag.gz archive that the weather API references?), but at least we're not
panic()ing any more in the request handlers due to the unexpected error
responses :/.
See https://developer.yr.no/doc/GettingStarted/ for an intorduction to the
new API.
Diffstat (limited to 'http_getter')
-rw-r--r-- | http_getter/http_getter.go | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/http_getter/http_getter.go b/http_getter/http_getter.go index 5df3ac2..9fdf7a5 100644 --- a/http_getter/http_getter.go +++ b/http_getter/http_getter.go @@ -4,16 +4,27 @@ import ( "net/http" ) -// Get is like http.Get, but we're sending our own user agent. -func Get(url string) (*http.Response, error) { - client := &http.Client{} - +func BuildGetRequest(url string) (*http.Request, error) { req, err := http.NewRequest("GET", url, nil) if err != nil { return nil, err } req.Header.Add("User-Agent", "github.com/slivasur/startpage") + return req, nil +} +func Do(req *http.Request) (*http.Response, error) { + client := &http.Client{} return client.Do(req) } + +// Get is like http.Get, but we're sending our own user agent. +func Get(url string) (*http.Response, error) { + req, err := BuildGetRequest(url) + if err != nil { + return nil, err + } + + return Do(req) +} |