diff options
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | cmd/gopherproxy/main.go | 11 | ||||
| -rw-r--r-- | gopherproxy.go | 4 |
3 files changed, 9 insertions, 7 deletions
| @@ -32,6 +32,7 @@ Arguments: | |||
| 32 | - `-uri=<uri>`: The default address to open in the proxy (default: "floodgap.com") | 32 | - `-uri=<uri>`: The default address to open in the proxy (default: "floodgap.com") |
| 33 | - `-robots-file=<file>`: robots.txt file to serve to protect Gopher sites from web crawlers (default: "robots.txt") | 33 | - `-robots-file=<file>`: robots.txt file to serve to protect Gopher sites from web crawlers (default: "robots.txt") |
| 34 | - `-robots-debug=<true|false>`: Print output about clients ignoring robots.txt (this includes regular browsers) (default: false) | 34 | - `-robots-debug=<true|false>`: Print output about clients ignoring robots.txt (this includes regular browsers) (default: false) |
| 35 | - `-vips-concurrency=<n>: Concurrency level of libvips (i.e. number of worker threads)` | ||
| 35 | 36 | ||
| 36 | 37 | ||
| 37 | ## Development | 38 | ## Development |
diff --git a/cmd/gopherproxy/main.go b/cmd/gopherproxy/main.go index e9dea18..e699d14 100644 --- a/cmd/gopherproxy/main.go +++ b/cmd/gopherproxy/main.go | |||
| @@ -10,15 +10,16 @@ import ( | |||
| 10 | var ( | 10 | var ( |
| 11 | // TODO: Allow config file and environment vars | 11 | // TODO: Allow config file and environment vars |
| 12 | // (opt -> env -> config -> default) | 12 | // (opt -> env -> config -> default) |
| 13 | bind = flag.String("bind", "0.0.0.0:8000", "[int]:port to bind to") | 13 | bind = flag.String("bind", "0.0.0.0:8000", "[int]:port to bind to") |
| 14 | robotsfile = flag.String("robots-file", "robots.txt", "robots.txt file") | 14 | robotsfile = flag.String("robots-file", "robots.txt", "robots.txt file") |
| 15 | robotsdebug = flag.Bool("robots-debug", false, "print output about ignored robots.txt") | 15 | robotsdebug = flag.Bool("robots-debug", false, "print output about ignored robots.txt") |
| 16 | uri = flag.String("uri", "floodgap.com", "<host>:[port] to proxy to") | 16 | uri = flag.String("uri", "floodgap.com", "<host>:[port] to proxy to") |
| 17 | vipsconcurrency = flag.Int("vips-concurrency", 1, "Concurrency level of libvips") | ||
| 17 | ) | 18 | ) |
| 18 | 19 | ||
| 19 | func main() { | 20 | func main() { |
| 20 | flag.Parse() | 21 | flag.Parse() |
| 21 | 22 | ||
| 22 | // Use a config struct | 23 | // Use a config struct |
| 23 | log.Fatal(gopherproxy.ListenAndServe(*bind, *robotsfile, *robotsdebug, *uri)) | 24 | log.Fatal(gopherproxy.ListenAndServe(*bind, *robotsfile, *robotsdebug, *vipsconcurrency, *uri)) |
| 24 | } | 25 | } |
diff --git a/gopherproxy.go b/gopherproxy.go index 0ecfa14..0134f88 100644 --- a/gopherproxy.go +++ b/gopherproxy.go | |||
| @@ -242,7 +242,7 @@ func FontHandler(woff2 bool, fontdata []byte) http.HandlerFunc { | |||
| 242 | // specified by the request. The robots argument is a pointer to | 242 | // specified by the request. The robots argument is a pointer to |
| 243 | // a robotstxt.RobotsData struct for testing user agents against | 243 | // a robotstxt.RobotsData struct for testing user agents against |
| 244 | // a configurable robots.txt file. | 244 | // a configurable robots.txt file. |
| 245 | func ListenAndServe(bind, robotsfile string, robotsdebug bool, uri string) error { | 245 | func ListenAndServe(bind, robotsfile string, robotsdebug bool, vipsconcurrency int, uri string) error { |
| 246 | var ( | 246 | var ( |
| 247 | tpl *template.Template | 247 | tpl *template.Template |
| 248 | robotsdata *robotstxt.RobotsData | 248 | robotsdata *robotstxt.RobotsData |
| @@ -329,7 +329,7 @@ func ListenAndServe(bind, robotsfile string, robotsdebug bool, uri string) error | |||
| 329 | } | 329 | } |
| 330 | 330 | ||
| 331 | vips.Startup(&vips.Config{ | 331 | vips.Startup(&vips.Config{ |
| 332 | ConcurrencyLevel: 0, | 332 | ConcurrencyLevel: vipsconcurrency, |
| 333 | }) | 333 | }) |
| 334 | 334 | ||
| 335 | http.HandleFunc("/", GopherHandler(tpl, robotsdata, AssetHashList{stylehash, jshash, fontwhash, fontw2hash}, robotsdebug, uri)) | 335 | http.HandleFunc("/", GopherHandler(tpl, robotsdata, AssetHashList{stylehash, jshash, fontwhash, fontw2hash}, robotsdebug, uri)) |
