aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan <me@jordan.im>2022-11-25 10:59:06 -0700
committerJordan <me@jordan.im>2022-11-25 10:59:06 -0700
commit5eedb519d8beb35d36d409e5e1545f63c0161c49 (patch)
tree47e73e971632685665bbc78e58a1eabb15efb892
parent4d69cf999805b9bbe72e9ea5168905546208a345 (diff)
downloadcrane-5eedb519d8beb35d36d409e5e1545f63c0161c49.tar.gz
crane-5eedb519d8beb35d36d409e5e1545f63c0161c49.zip
crane: free descriptors from outbound requests, sci-hub URL
-rw-r--r--README.md2
-rw-r--r--crane.go2
-rw-r--r--util.go4
3 files changed, 6 insertions, 2 deletions
diff --git a/README.md b/README.md
index 852298b..fd48708 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ Usage of ./crane:
-path string
Absolute or relative path to papers folder (default "./papers")
-sci-hub string
- Sci-Hub URL (default "https://sci-hub.se/")
+ Sci-Hub URL (default "https://sci-hub.hkvisa.net/")
-user string
Username for /admin/ endpoints (optional)
-pass string
diff --git a/crane.go b/crane.go
index a9d8601..b678f9d 100644
--- a/crane.go
+++ b/crane.go
@@ -610,7 +610,7 @@ func main() {
var scihub string
- flag.StringVar(&scihub, "sci-hub", "https://sci-hub.se/", "Sci-Hub URL")
+ flag.StringVar(&scihub, "sci-hub", "https://sci-hub.hkvisa.net/", "Sci-Hub URL")
flag.StringVar(&papers.Path, "path", "./papers",
"Absolute or relative path to papers folder")
flag.StringVar(&host, "host", "127.0.0.1", "IP address to listen on")
diff --git a/util.go b/util.go
index 035b519..0fb447f 100644
--- a/util.go
+++ b/util.go
@@ -230,6 +230,7 @@ func getMetaFromDOI(client *http.Client, doi []byte) (*Meta, error) {
if err != nil {
return nil, err
}
+ defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("%q: failed to get metadata", u)
@@ -267,6 +268,8 @@ func getPaper(client *http.Client, scihub *url.URL, resource string) (string, er
if err != nil {
return "", err
}
+ defer resp.Body.Close()
+
doc, err := html.Parse(resp.Body)
if err != nil {
return "", err
@@ -303,6 +306,7 @@ func getPaper(client *http.Client, scihub *url.URL, resource string) (string, er
if err != nil {
return "", err
}
+ defer resp.Body.Close()
if resp.Header.Get("content-type") != "application/pdf" {
return "", fmt.Errorf("%q: content-type not application/pdf", refURL.String())
}