From 86bb3c46e56653ee20fddd8ca04ac6fda924f683 Mon Sep 17 00:00:00 2001 From: Tycho Andersen Date: Tue, 29 Nov 2016 12:45:01 -0700 Subject: [PATCH] cmd: add --prefix option to rqlite If e.g. rqlite is embedded in some other HTTP engine via forwarding or something, it might not be at /; let's allow the client to talk to rqlite in this case. Signed-off-by: Tycho Andersen --- cmd/rqlite/execute.go | 2 +- cmd/rqlite/main.go | 1 + cmd/rqlite/query.go | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cmd/rqlite/execute.go b/cmd/rqlite/execute.go index 73b177f0..17fad507 100644 --- a/cmd/rqlite/execute.go +++ b/cmd/rqlite/execute.go @@ -21,7 +21,7 @@ type executeResponse struct { } func execute(ctx *cli.Context, cmd, line string, argv *argT) error { - urlStr := fmt.Sprintf("%s://%s:%d/db/execute?pretty&timings", argv.Protocol, argv.Host, argv.Port) + urlStr := fmt.Sprintf("%s://%s:%d%sdb/execute?pretty&timings", argv.Protocol, argv.Host, argv.Port, argv.Prefix) ret := &executeResponse{} if err := sendRequest(ctx, urlStr, line, ret); err != nil { return err diff --git a/cmd/rqlite/main.go b/cmd/rqlite/main.go index 2c9d7c63..2b16f36d 100644 --- a/cmd/rqlite/main.go +++ b/cmd/rqlite/main.go @@ -18,6 +18,7 @@ type argT struct { Protocol string `cli:"s,scheme" usage:"protocol scheme (http or https)" dft:"http"` Host string `cli:"H,host" usage:"rqlited host address" dft:"127.0.0.1"` Port uint16 `cli:"p,port" usage:"rqlited host port" dft:"4001"` + Prefix string `cli:"P,prefix" usage:"rqlited HTTP prefix" dft:"/"` } func main() { diff --git a/cmd/rqlite/query.go b/cmd/rqlite/query.go index 5ea6210d..371ec6f5 100644 --- a/cmd/rqlite/query.go +++ b/cmd/rqlite/query.go @@ -80,7 +80,7 @@ type queryResponse struct { } func query(ctx *cli.Context, cmd, line string, argv *argT) error { - urlStr := fmt.Sprintf("%s://%s:%d/db/query?timings", argv.Protocol, argv.Host, argv.Port) + urlStr := fmt.Sprintf("%s://%s:%d%sdb/query?timings", argv.Protocol, argv.Host, argv.Port, argv.Prefix) ret := &queryResponse{} if err := sendRequest(ctx, urlStr, line, ret); err != nil { return err