Skip to content

Commit

Permalink
Merge pull request #14 from owncloud/http-root
Browse files Browse the repository at this point in the history
Add custom http root
  • Loading branch information
tboerger authored Dec 9, 2019
2 parents 8491cf2 + 385a99d commit eed8205
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 7 deletions.
6 changes: 6 additions & 0 deletions docs/content/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ GRAPH_DEBUG_ZPAGES
GRAPH_HTTP_ADDR
: Address to bind http server, defaults to `0.0.0.0:9120`

GRAPH_HTTP_ROOT
: Root path of http server, defaults to `/`

##### Health

GRAPH_DEBUG_ADDR
Expand Down Expand Up @@ -126,6 +129,9 @@ If you prefer to configure the service with commandline flags you can see the av
--http-addr
: Address to bind http server, defaults to `0.0.0.0:9120`

--http-root
: Root path of http server, defaults to `/`

##### Health

--debug-addr
Expand Down
8 changes: 8 additions & 0 deletions pkg/command/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"
"os"
"os/signal"
"strings"
"time"

"contrib.go.opencensus.io/exporter/jaeger"
Expand All @@ -28,6 +29,13 @@ func Server(cfg *config.Config) cli.Command {
Name: "server",
Usage: "Start integrated server",
Flags: flagset.ServerWithConfig(cfg),
Before: func(c *cli.Context) error {
if cfg.HTTP.Root != "/" {
cfg.HTTP.Root = strings.TrimSuffix(cfg.HTTP.Root, "/")
}

return nil
},
Action: func(c *cli.Context) error {
logger := NewLogger(cfg)

Expand Down
1 change: 1 addition & 0 deletions pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ type Debug struct {
// HTTP defines the available http configuration.
type HTTP struct {
Addr string
Root string
}

// Tracing defines the available tracing configuration.
Expand Down
7 changes: 7 additions & 0 deletions pkg/flagset/flagset.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,5 +120,12 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag {
EnvVar: "GRAPH_HTTP_ADDR",
Destination: &cfg.HTTP.Addr,
},
&cli.StringFlag{
Name: "http-root",
Value: "/",
Usage: "Root path of http server",
EnvVar: "GRAPH_HTTP_ROOT",
Destination: &cfg.HTTP.Root,
},
}
}
15 changes: 8 additions & 7 deletions pkg/service/v0/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,14 @@ func NewService(opts ...Option) Service {
logger: &options.Logger,
}

m.Route("/v1.0", func(r chi.Router) {
r.Get("/me", svc.GetMe)
r.Route("/users", func(r chi.Router) {
r.Get("/", svc.GetUsers)
r.Route("/{userID}", func(r chi.Router) {
r.Use(svc.UserCtx)
r.Get("/", svc.GetUser)
m.Route(options.Config.HTTP.Root, func(r chi.Router) {
r.Route("/v1.0", func(r chi.Router) {
r.Route("/users", func(r chi.Router) {
r.Get("/", svc.GetUsers)
r.Route("/{userID}", func(r chi.Router) {
r.Use(svc.UserCtx)
r.Get("/", svc.GetUser)
})
})
})
})
Expand Down

0 comments on commit eed8205

Please sign in to comment.