Skip to content

Commit e5b40a7

Browse files
committed
feat: add cli flags
1 parent 6abde80 commit e5b40a7

File tree

11 files changed

+191
-150
lines changed

11 files changed

+191
-150
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ run:
44

55
.PHONY: build
66
build:
7-
CGO_ENABLED=0 go build -ldflags="-w -s" -o build/router
7+
gox -output=build/ncp_{{.OS}}_{{.Arch}}
88

99
.PHONY: test
1010
test:

cli/list.go

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@ package cli
22

33
import (
44
"fmt"
5-
"net/http"
65

7-
"github.com/emeralt/npm-cache-proxy/proxy"
8-
"github.com/go-redis/redis"
6+
npmproxy "github.com/emeralt/npm-cache-proxy/proxy"
97
"github.com/spf13/cobra"
108
)
119

@@ -14,15 +12,13 @@ var listCmd = &cobra.Command{
1412
Use: "list",
1513
Short: "List all cached packages",
1614
Run: func(cmd *cobra.Command, args []string) {
17-
prx := proxy.Proxy{
18-
RedisClient: redis.NewClient(&redis.Options{}),
19-
HttpClient: &http.Client{
20-
Transport: http.DefaultTransport,
21-
},
22-
GetOptions: getOptions,
23-
}
15+
proxy := getProxy(func() (npmproxy.Options, error) {
16+
return npmproxy.Options{
17+
RedisPrefix: persistentOptions.RedisPrefix,
18+
}, nil
19+
})
2420

25-
metadatas, err := prx.ListMetadata()
21+
metadatas, err := proxy.ListMetadata()
2622
if err != nil {
2723
panic(err)
2824
}

cli/main.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,43 @@ package cli
22

33
import (
44
"fmt"
5+
"net/http"
56
"os"
7+
8+
npmproxy "github.com/emeralt/npm-cache-proxy/proxy"
9+
"github.com/go-redis/redis"
610
)
711

12+
// global options
13+
var persistentOptions struct {
14+
RedisAddress string
15+
RedisDatabase int
16+
RedisPassword string
17+
RedisPrefix string
18+
}
19+
20+
// initialize global options
21+
func init() {
22+
rootCmd.PersistentFlags().StringVar(&persistentOptions.RedisAddress, "redis-address", getEnvString("REDIS_ADDRESS", "localhost:6379"), "Redis address")
23+
rootCmd.PersistentFlags().IntVar(&persistentOptions.RedisDatabase, "redis-database", getEnvInt("REDIS_DATABASE", "0"), "Redis database")
24+
rootCmd.PersistentFlags().StringVar(&persistentOptions.RedisPassword, "redis-password", getEnvString("REDIS_PASSWORD", ""), "Redis password")
25+
rootCmd.PersistentFlags().StringVar(&persistentOptions.RedisPrefix, "redis-prefix", getEnvString("REDIS_PREFIX", "ncp-"), "Redis prefix")
26+
}
27+
28+
func getProxy(getOptions func() (npmproxy.Options, error)) *npmproxy.Proxy {
29+
return &npmproxy.Proxy{
30+
RedisClient: redis.NewClient(&redis.Options{
31+
Addr: persistentOptions.RedisAddress,
32+
DB: persistentOptions.RedisDatabase,
33+
Password: persistentOptions.RedisPassword,
34+
}),
35+
HttpClient: &http.Client{
36+
Transport: http.DefaultTransport,
37+
},
38+
GetOptions: getOptions,
39+
}
40+
}
41+
842
// Run starts the CLI
943
func Run() {
1044
rootCmd.AddCommand(listCmd)

cli/purge.go

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package cli
22

33
import (
4-
"net/http"
5-
64
npmproxy "github.com/emeralt/npm-cache-proxy/proxy"
7-
"github.com/go-redis/redis"
85
"github.com/spf13/cobra"
96
)
107

@@ -13,13 +10,11 @@ var purgeCmd = &cobra.Command{
1310
Use: "purge",
1411
Short: "Purge all cached packages",
1512
Run: func(cmd *cobra.Command, args []string) {
16-
proxy := npmproxy.Proxy{
17-
RedisClient: redis.NewClient(&redis.Options{}),
18-
HttpClient: &http.Client{
19-
Transport: http.DefaultTransport,
20-
},
21-
GetOptions: getOptions,
22-
}
13+
proxy := getProxy(func() (npmproxy.Options, error) {
14+
return npmproxy.Options{
15+
RedisPrefix: persistentOptions.RedisPrefix,
16+
}, nil
17+
})
2318

2419
err := proxy.PurgeMetadata()
2520
if err != nil {

cli/root.go

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,43 @@
11
package cli
22

33
import (
4-
"net/http"
54
"time"
65

76
npmproxy "github.com/emeralt/npm-cache-proxy/proxy"
8-
"github.com/go-redis/redis"
97
"github.com/spf13/cobra"
108
)
119

1210
// start a server
1311
var rootCmd = &cobra.Command{
1412
Use: "ncp",
1513
Short: "ncp is a fast npm cache proxy that stores data in Redis",
16-
Run: func(cmd *cobra.Command, args []string) {
17-
proxy := npmproxy.Proxy{
18-
RedisClient: redis.NewClient(&redis.Options{}),
19-
HttpClient: &http.Client{
20-
Transport: http.DefaultTransport,
21-
},
22-
GetOptions: getOptions,
23-
}
14+
Run: run,
15+
}
16+
17+
var rootOptions struct {
18+
ListenAddress string
19+
UpstreamAddress string
20+
CacheLimit string
21+
CacheTTL int
22+
}
2423

25-
proxy.Server(npmproxy.ServerOptions{
26-
ListenAddress: "localhost:8080",
27-
}).ListenAndServe()
28-
},
24+
func init() {
25+
rootCmd.Flags().StringVar(&rootOptions.ListenAddress, "listen", getEnvString("LISTEN_ADDRESS", "localhost:8080"), "Address to listen")
26+
rootCmd.Flags().StringVar(&rootOptions.UpstreamAddress, "upstream", getEnvString("UPSTREAM_ADDRESS", "https://registry.npmjs.org"), "Upstream registry address")
27+
rootCmd.Flags().StringVar(&rootOptions.CacheLimit, "cache-limit", getEnvString("CACHE_LIMIT", "0"), "Cached packages count limit")
28+
rootCmd.Flags().IntVar(&rootOptions.CacheTTL, "cache-ttl", getEnvInt("CACHE_TTL", "3600"), "Cache expiration timeout in seconds")
2929
}
3030

31-
func getOptions() (npmproxy.Options, error) {
32-
return npmproxy.Options{
33-
RedisPrefix: "ncp-",
34-
RedisExpireTimeout: 1 * time.Hour,
31+
func run(cmd *cobra.Command, args []string) {
32+
proxy := getProxy(func() (npmproxy.Options, error) {
33+
return npmproxy.Options{
34+
RedisPrefix: persistentOptions.RedisPrefix,
35+
RedisExpireTimeout: time.Duration(rootOptions.CacheTTL) * time.Second,
36+
UpstreamAddress: rootOptions.UpstreamAddress,
37+
}, nil
38+
})
3539

36-
UpstreamAddress: "http://registry.npmjs.org",
37-
ReplaceAddress: "https://registry.npmjs.org",
38-
StaticServerAddress: "http://localhost:8080",
39-
}, nil
40+
proxy.Server(npmproxy.ServerOptions{
41+
ListenAddress: rootOptions.ListenAddress,
42+
}).ListenAndServe()
4043
}

cli/utils.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package cli
2+
3+
import (
4+
"os"
5+
"strconv"
6+
)
7+
8+
func getEnvString(env string, def string) string {
9+
value := os.Getenv(env)
10+
11+
if value != "" {
12+
return value
13+
} else {
14+
return def
15+
}
16+
}
17+
18+
func getEnvInt(env string, def string) int {
19+
value := getEnvString(env, def)
20+
21+
// TODO: handle error
22+
converted, _ := strconv.Atoi(value)
23+
24+
return converted
25+
}

example/main.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package main
2+
3+
import (
4+
"net/http"
5+
"time"
6+
7+
npmproxy "github.com/emeralt/npm-cache-proxy/proxy"
8+
"github.com/go-redis/redis"
9+
)
10+
11+
func main() {
12+
proxy := npmproxy.Proxy{
13+
RedisClient: redis.NewClient(&redis.Options{
14+
Addr: "localhost:6379",
15+
DB: 0,
16+
Password: "",
17+
}),
18+
HttpClient: &http.Client{},
19+
GetOptions: func() (npmproxy.Options, error) {
20+
return npmproxy.Options{
21+
RedisPrefix: "ncp-",
22+
RedisExpireTimeout: 1 * time.Hour,
23+
UpstreamAddress: "https://registry.npmjs.org",
24+
}, nil
25+
},
26+
}
27+
28+
proxy.Server(npmproxy.ServerOptions{
29+
ListenAddress: "localhost:8080",
30+
}).ListenAndServe()
31+
}

go.mod

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,11 @@ module github.com/emeralt/npm-cache-proxy
33
go 1.12
44

55
require (
6-
github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3 // indirect
76
github.com/gin-contrib/zap v0.0.0-20190405225521-7c4b822813e7
87
github.com/gin-gonic/gin v1.3.0
98
github.com/go-redis/redis v6.15.2+incompatible
10-
github.com/golang/protobuf v1.3.1 // indirect
11-
github.com/json-iterator/go v1.1.6 // indirect
12-
github.com/mattn/go-isatty v0.0.7 // indirect
13-
github.com/mitchellh/go-homedir v1.1.0 // indirect
14-
github.com/onsi/ginkgo v1.8.0 // indirect
15-
github.com/onsi/gomega v1.5.0 // indirect
16-
github.com/pkg/errors v0.8.1 // indirect
9+
github.com/inconshreveable/mousetrap v1.0.0 // indirect
1710
github.com/spf13/cobra v0.0.3
18-
github.com/spf13/viper v1.3.2 // indirect
19-
github.com/stretchr/objx v0.2.0 // indirect
11+
github.com/spf13/pflag v1.0.3 // indirect
2012
go.uber.org/zap v1.9.1
21-
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a // indirect
22-
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2 // indirect
23-
golang.org/x/sync v0.0.0-20190412183630-56d357773e84 // indirect
24-
golang.org/x/sys v0.0.0-20190415145633-3fd5a3612ccd // indirect
25-
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
2613
)

go.sum

Lines changed: 2 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
2-
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
3-
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
4-
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
5-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
61
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
7-
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
8-
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
92
github.com/gin-contrib/sse v0.0.0-20170109093832-22d885f9ecc7 h1:AzN37oI0cOS+cougNAV9szl6CVoj2RYwzS3DpUQNtlY=
103
github.com/gin-contrib/sse v0.0.0-20170109093832-22d885f9ecc7/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s=
11-
github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3 h1:t8FVkw33L+wilf2QiWkw0UV77qRpcH/JHPKGpKa2E8g=
12-
github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s=
134
github.com/gin-contrib/zap v0.0.0-20190405225521-7c4b822813e7 h1:v6rNWmMnVDBVMc1pUUSCTobu2p4BukiPMwoj0pLqBhA=
145
github.com/gin-contrib/zap v0.0.0-20190405225521-7c4b822813e7/go.mod h1:pQKeeey3PeRN2SbZe1jWiIkTJkylO9hL1K0Hf4Wbtt4=
156
github.com/gin-gonic/gin v1.3.0 h1:kCmZyPklC0gVdL728E6Aj20uYBJV93nj/TkwBTKhFbs=
@@ -18,91 +9,34 @@ github.com/go-redis/redis v6.15.2+incompatible h1:9SpNVG76gr6InJGxoZ6IuuxaCOQwDA
189
github.com/go-redis/redis v6.15.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
1910
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
2011
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
21-
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
22-
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
23-
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
24-
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
25-
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
26-
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
12+
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
13+
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
2714
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
28-
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
29-
github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=
30-
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
3115
github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs=
3216
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
33-
github.com/mattn/go-isatty v0.0.7 h1:UvyT9uN+3r7yLEYSlJsbQGdsaB/a0DlgWP3pql6iwOc=
34-
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
35-
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
36-
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
37-
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
38-
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
3917
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
4018
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
41-
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
42-
github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
43-
github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
44-
github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
45-
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
46-
github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
47-
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
4819
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
49-
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
5020
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
51-
github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=
52-
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
53-
github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
54-
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
5521
github.com/spf13/cobra v0.0.3 h1:ZlrZ4XsMRm04Fr5pSFxBgfND2EBVa1nLpiy1stUsX/8=
5622
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
57-
github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
58-
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
5923
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
6024
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
61-
github.com/spf13/viper v1.3.2 h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M=
62-
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
63-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
64-
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
6525
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
66-
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
67-
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
6826
github.com/ugorji/go/codec v0.0.0-20181209151446-772ced7fd4c2 h1:EICbibRW4JNKMcY+LsWmuwob+CRS1BmdRdjphAm9mH4=
6927
github.com/ugorji/go/codec v0.0.0-20181209151446-772ced7fd4c2/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
70-
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
7128
go.uber.org/atomic v1.3.2 h1:2Oa65PReHzfn29GpvgsYwloV9AVFHPDk8tYxt2c2tr4=
7229
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
7330
go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
7431
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
7532
go.uber.org/zap v1.9.1 h1:XCJQEf3W6eZaVwhRBof6ImoYGJSITeKWsyeh3HFu/5o=
7633
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
77-
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
78-
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
79-
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
80-
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
8134
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
82-
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2 h1:iC0Y6EDq+rhnAePxGvJs2kzUAYcwESqdcGRPzEUfzTU=
83-
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
84-
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
8535
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
86-
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
87-
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
88-
golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
8936
golang.org/x/sys v0.0.0-20181221143128-b4a75ba826a6/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
90-
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
91-
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
92-
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
93-
golang.org/x/sys v0.0.0-20190415145633-3fd5a3612ccd h1:MNN7PRW7zYXd8upVO5qfKeOnQG74ivRNv7sz4k4cQMs=
94-
golang.org/x/sys v0.0.0-20190415145633-3fd5a3612ccd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
95-
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
96-
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
9737
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
98-
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
99-
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
100-
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
10138
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
10239
gopkg.in/go-playground/validator.v8 v8.18.2 h1:lFB4DoMU6B626w8ny76MV7VX6W2VHct2GVOI3xgiMrQ=
10340
gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y=
104-
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
105-
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
106-
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
10741
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
10842
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

proxy/main.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,5 @@ type Proxy struct {
1717
type Options struct {
1818
RedisPrefix string
1919
RedisExpireTimeout time.Duration
20-
21-
UpstreamAddress string
22-
ReplaceAddress string
23-
StaticServerAddress string
20+
UpstreamAddress string
2421
}

0 commit comments

Comments
 (0)