perf: move dynamic options reciever to server, enable Cache-Control HTTP header

This commit is contained in:
 Ilya Atamas
2019-04-23 17:59:18 +03:00
parent f821e794f8
commit 62e64e5154
9 changed files with 91 additions and 94 deletions

View File

@@ -1,6 +1,7 @@
package cli
import (
"log"
"time"
npmproxy "github.com/emeralt/npm-cache-proxy/proxy"
@@ -31,16 +32,24 @@ func init() {
}
func run(cmd *cobra.Command, args []string) {
proxy := getProxy(func() (npmproxy.Options, error) {
return npmproxy.Options{
DatabasePrefix: persistentOptions.RedisPrefix,
DatabaseExpiration: time.Duration(rootOptions.CacheTTL) * time.Second,
UpstreamAddress: rootOptions.UpstreamAddress,
}, nil
})
proxy := getProxy()
proxy.Server(npmproxy.ServerOptions{
log.Print("Listening on " + rootOptions.ListenAddress)
err := proxy.Server(npmproxy.ServerOptions{
ListenAddress: rootOptions.ListenAddress,
Silent: rootOptions.Silent,
GetOptions: func() (npmproxy.Options, error) {
return npmproxy.Options{
DatabasePrefix: persistentOptions.RedisPrefix,
DatabaseExpiration: time.Duration(rootOptions.CacheTTL) * time.Second,
UpstreamAddress: rootOptions.UpstreamAddress,
}, nil
},
}).ListenAndServe()
if err != nil {
log.Fatal(err)
}
}