cmd/packserver: add --index-file argument
This commit is contained in:
parent
be86cbaed3
commit
246aefbec4
|
@ -5,7 +5,7 @@ go 1.12
|
||||||
require (
|
require (
|
||||||
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||||
github.com/kisielk/errcheck v1.2.0 // indirect
|
github.com/kisielk/errcheck v1.2.0 // indirect
|
||||||
github.com/lwithers/htpack v1.0.0
|
github.com/lwithers/htpack v1.1.0
|
||||||
github.com/spf13/cobra v0.0.3
|
github.com/spf13/cobra v0.0.3
|
||||||
github.com/spf13/pflag v1.0.3 // indirect
|
github.com/spf13/pflag v1.0.3 // indirect
|
||||||
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a // indirect
|
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a // indirect
|
||||||
|
|
|
@ -9,6 +9,8 @@ github.com/lwithers/htpack v0.0.0-20190412081623-ea77f42dc393 h1:h++VdZ2eeJC9hf+
|
||||||
github.com/lwithers/htpack v0.0.0-20190412081623-ea77f42dc393/go.mod h1:+9noAoJ9IIiHkwn2Z2Po5upZOKItKKFgYr/cMESGYrc=
|
github.com/lwithers/htpack v0.0.0-20190412081623-ea77f42dc393/go.mod h1:+9noAoJ9IIiHkwn2Z2Po5upZOKItKKFgYr/cMESGYrc=
|
||||||
github.com/lwithers/htpack v1.0.0 h1:opBavUAl6QKjvlxNaOwMAvO+Q+ytZpKSl0iDCYam1Uk=
|
github.com/lwithers/htpack v1.0.0 h1:opBavUAl6QKjvlxNaOwMAvO+Q+ytZpKSl0iDCYam1Uk=
|
||||||
github.com/lwithers/htpack v1.0.0/go.mod h1:4dNHChTcK0SzOTVnFt4b0SuK7OMSo8Ge7o1XXYV4xUk=
|
github.com/lwithers/htpack v1.0.0/go.mod h1:4dNHChTcK0SzOTVnFt4b0SuK7OMSo8Ge7o1XXYV4xUk=
|
||||||
|
github.com/lwithers/htpack v1.1.0 h1:pURTwBKgcmLYpN8M+qT9/Ks2+kLy8cbQqgJZa6/QPaw=
|
||||||
|
github.com/lwithers/htpack v1.1.0/go.mod h1:4dNHChTcK0SzOTVnFt4b0SuK7OMSo8Ge7o1XXYV4xUk=
|
||||||
github.com/spf13/cobra v0.0.3 h1:ZlrZ4XsMRm04Fr5pSFxBgfND2EBVa1nLpiy1stUsX/8=
|
github.com/spf13/cobra v0.0.3 h1:ZlrZ4XsMRm04Fr5pSFxBgfND2EBVa1nLpiy1stUsX/8=
|
||||||
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||||
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
|
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
|
||||||
|
|
|
@ -45,6 +45,8 @@ func main() {
|
||||||
"Extra headers; use flag once for each, in form -H header=value")
|
"Extra headers; use flag once for each, in form -H header=value")
|
||||||
rootCmd.Flags().String("header-file", "",
|
rootCmd.Flags().String("header-file", "",
|
||||||
"Path to text file containing one line for each header=value to add")
|
"Path to text file containing one line for each header=value to add")
|
||||||
|
rootCmd.Flags().String("index-file", "",
|
||||||
|
"Name of index file (index.html or similar)")
|
||||||
rootCmd.Flags().Duration("expiry", 0,
|
rootCmd.Flags().Duration("expiry", 0,
|
||||||
"Tell client how long it can cache data for; 0 means no caching")
|
"Tell client how long it can cache data for; 0 means no caching")
|
||||||
|
|
||||||
|
@ -115,6 +117,13 @@ func run(c *cobra.Command, args []string) error {
|
||||||
fmt.Sprintf("public, max-age=%d", expiry/1e9))
|
fmt.Sprintf("public, max-age=%d", expiry/1e9))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// optional index file
|
||||||
|
// NB: this is set below, as the handlers are instantiated
|
||||||
|
indexFile, err := c.Flags().GetString("index-file")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// verify .htpack specifications
|
// verify .htpack specifications
|
||||||
if len(args) == 0 {
|
if len(args) == 0 {
|
||||||
return errors.New("must specify one or more .htpack files")
|
return errors.New("must specify one or more .htpack files")
|
||||||
|
@ -141,15 +150,17 @@ func run(c *cobra.Command, args []string) error {
|
||||||
|
|
||||||
// load packfiles, registering handlers as we go
|
// load packfiles, registering handlers as we go
|
||||||
for prefix, packfile := range packPaths {
|
for prefix, packfile := range packPaths {
|
||||||
var handler http.Handler
|
packHandler, err := htpack.New(packfile)
|
||||||
handler, err = htpack.New(packfile)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if indexFile != "" {
|
||||||
|
packHandler.SetIndex(indexFile)
|
||||||
|
}
|
||||||
|
|
||||||
handler = &addHeaders{
|
handler := &addHeaders{
|
||||||
extraHeaders: extraHeaders,
|
extraHeaders: extraHeaders,
|
||||||
handler: handler,
|
handler: packHandler,
|
||||||
}
|
}
|
||||||
|
|
||||||
if prefix != "/" {
|
if prefix != "/" {
|
||||||
|
|
Loading…
Reference in New Issue