From 5eedb519d8beb35d36d409e5e1545f63c0161c49 Mon Sep 17 00:00:00 2001 From: Jordan Date: Fri, 25 Nov 2022 10:59:06 -0700 Subject: crane: free descriptors from outbound requests, sci-hub URL --- README.md | 2 +- crane.go | 2 +- util.go | 4 ++++ 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()) } -- cgit v1.2.3-54-g00ecf