proto: have route put return route object

This commit is contained in:
Cadey Ratio 2017-10-07 20:53:54 -07:00
parent ce15a735ed
commit 811795d174
No known key found for this signature in database
GPG Key ID: D607EE27C2E7F89A
4 changed files with 109 additions and 141 deletions

View File

@ -213,12 +213,12 @@ retry_netrc:
switch cmdline {
case "route create":
idr, err := rc.Put(ctx, &proto.Route{Host: *routesCreateDomain})
rt, err := rc.Put(ctx, &proto.Route{Host: *routesCreateDomain})
if err != nil {
ln.FatalErr(ctx, err, ln.Action("create new route"))
}
fmt.Println("created route with id " + idr.Id)
fmt.Printf("created route for domain %s, id: %s\n", rt.Host, rt.Id)
return

View File

@ -60,7 +60,7 @@ func (r *Route) GetAll(ctx context.Context, req *proto.Nil) (*proto.GetAllRoutes
}, nil
}
func (r *Route) Put(ctx context.Context, rt *proto.Route) (*proto.IDResponse, error) {
func (r *Route) Put(ctx context.Context, rt *proto.Route) (*proto.Route, error) {
clitok, err := r.getAuth(ctx, "put new route", "route:put")
if err != nil {
return nil, handleError(ctx, clitok, err, ln.F{"action": "Route.Put_getAuth"})
@ -77,12 +77,10 @@ func (r *Route) Put(ctx context.Context, rt *proto.Route) (*proto.IDResponse, er
ln.Log(ctx, drt, ln.Action("created new route"))
return &proto.IDResponse{
Id: drt.ID,
}, nil
return drt.AsProto(), nil
}
func (r *Route) Delete(ctx context.Context, rt *proto.Route) (*proto.IDResponse, error) {
func (r *Route) Delete(ctx context.Context, rt *proto.Route) (*proto.Nil, error) {
clitok, err := r.getAuth(ctx, "delete single route", "route:delete")
if err != nil {
return nil, handleError(ctx, clitok, err, ln.F{"action": "Route.Delete_getAuth"})
@ -107,5 +105,5 @@ func (r *Route) Delete(ctx context.Context, rt *proto.Route) (*proto.IDResponse,
f["action"] = "deleted route from database"
ln.Log(ctx, f, drt)
return &proto.IDResponse{Id: rt.Id}, nil
return &proto.Nil{}, nil
}

View File

@ -13,7 +13,6 @@ It has these top-level messages:
GetRouteRequest
Route
GetAllRoutesResponse
IDResponse
Token
TokenSet
GetTokenRequest
@ -44,6 +43,7 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
// Nil represents nothing.
type Nil struct {
}
@ -52,8 +52,11 @@ func (m *Nil) String() string { return proto.CompactTextString(m) }
func (*Nil) ProtoMessage() {}
func (*Nil) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
// GetRouteRequest specifies the host or id of the route that the user wants
// to fetch.
type GetRouteRequest struct {
Host string `protobuf:"bytes,1,opt,name=host" json:"host,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
}
func (m *GetRouteRequest) Reset() { *m = GetRouteRequest{} }
@ -68,6 +71,14 @@ func (m *GetRouteRequest) GetHost() string {
return ""
}
func (m *GetRouteRequest) GetId() string {
if m != nil {
return m.Id
}
return ""
}
// Route is a single HTTP route.
type Route struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
Creator string `protobuf:"bytes,2,opt,name=creator" json:"creator,omitempty"`
@ -100,6 +111,7 @@ func (m *Route) GetHost() string {
return ""
}
// GetAllRoutesResponse encapsulates a list of routes.
type GetAllRoutesResponse struct {
Routes []*Route `protobuf:"bytes,1,rep,name=routes" json:"routes,omitempty"`
}
@ -116,22 +128,8 @@ func (m *GetAllRoutesResponse) GetRoutes() []*Route {
return nil
}
type IDResponse struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
}
func (m *IDResponse) Reset() { *m = IDResponse{} }
func (m *IDResponse) String() string { return proto.CompactTextString(m) }
func (*IDResponse) ProtoMessage() {}
func (*IDResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *IDResponse) GetId() string {
if m != nil {
return m.Id
}
return ""
}
// Token is an individual authentication token. Id and Body will usually be
// unique ID's or other cryptographic identifiers.
type Token struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
Body string `protobuf:"bytes,2,opt,name=body" json:"body,omitempty"`
@ -142,7 +140,7 @@ type Token struct {
func (m *Token) Reset() { *m = Token{} }
func (m *Token) String() string { return proto.CompactTextString(m) }
func (*Token) ProtoMessage() {}
func (*Token) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (*Token) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *Token) GetId() string {
if m != nil {
@ -172,6 +170,7 @@ func (m *Token) GetActive() bool {
return false
}
// Tokenset encapsulates a list of tokens.
type TokenSet struct {
Tokens []*Token `protobuf:"bytes,1,rep,name=tokens" json:"tokens,omitempty"`
}
@ -179,7 +178,7 @@ type TokenSet struct {
func (m *TokenSet) Reset() { *m = TokenSet{} }
func (m *TokenSet) String() string { return proto.CompactTextString(m) }
func (*TokenSet) ProtoMessage() {}
func (*TokenSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (*TokenSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (m *TokenSet) GetTokens() []*Token {
if m != nil {
@ -196,7 +195,7 @@ type GetTokenRequest struct {
func (m *GetTokenRequest) Reset() { *m = GetTokenRequest{} }
func (m *GetTokenRequest) String() string { return proto.CompactTextString(m) }
func (*GetTokenRequest) ProtoMessage() {}
func (*GetTokenRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (*GetTokenRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (m *GetTokenRequest) GetToken() string {
if m != nil {
@ -225,7 +224,7 @@ type Backend struct {
func (m *Backend) Reset() { *m = Backend{} }
func (m *Backend) String() string { return proto.CompactTextString(m) }
func (*Backend) ProtoMessage() {}
func (*Backend) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (*Backend) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (m *Backend) GetId() string {
if m != nil {
@ -284,7 +283,7 @@ type BackendList struct {
func (m *BackendList) Reset() { *m = BackendList{} }
func (m *BackendList) String() string { return proto.CompactTextString(m) }
func (*BackendList) ProtoMessage() {}
func (*BackendList) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
func (*BackendList) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (m *BackendList) GetBs() *BackendSelector {
if m != nil {
@ -308,7 +307,7 @@ type BackendSelector struct {
func (m *BackendSelector) Reset() { *m = BackendSelector{} }
func (m *BackendSelector) String() string { return proto.CompactTextString(m) }
func (*BackendSelector) ProtoMessage() {}
func (*BackendSelector) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (*BackendSelector) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
func (m *BackendSelector) GetDomain() string {
if m != nil {
@ -331,7 +330,7 @@ type BackendID struct {
func (m *BackendID) Reset() { *m = BackendID{} }
func (m *BackendID) String() string { return proto.CompactTextString(m) }
func (*BackendID) ProtoMessage() {}
func (*BackendID) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
func (*BackendID) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (m *BackendID) GetId() string {
if m != nil {
@ -345,7 +344,6 @@ func init() {
proto.RegisterType((*GetRouteRequest)(nil), "route.GetRouteRequest")
proto.RegisterType((*Route)(nil), "route.Route")
proto.RegisterType((*GetAllRoutesResponse)(nil), "route.GetAllRoutesResponse")
proto.RegisterType((*IDResponse)(nil), "route.IDResponse")
proto.RegisterType((*Token)(nil), "route.Token")
proto.RegisterType((*TokenSet)(nil), "route.TokenSet")
proto.RegisterType((*GetTokenRequest)(nil), "route.GetTokenRequest")
@ -366,10 +364,14 @@ const _ = grpc.SupportPackageIsVersion4
// Client API for Routes service
type RoutesClient interface {
// Get fetches a single route based on the Host or ID.
Get(ctx context.Context, in *GetRouteRequest, opts ...grpc.CallOption) (*Route, error)
// GetAll fetches all of the routes that the user owns.
GetAll(ctx context.Context, in *Nil, opts ...grpc.CallOption) (*GetAllRoutesResponse, error)
Put(ctx context.Context, in *Route, opts ...grpc.CallOption) (*IDResponse, error)
Delete(ctx context.Context, in *Route, opts ...grpc.CallOption) (*IDResponse, error)
// Put creates a new route based on user-supplied details.
Put(ctx context.Context, in *Route, opts ...grpc.CallOption) (*Route, error)
// Delete removes a route.
Delete(ctx context.Context, in *Route, opts ...grpc.CallOption) (*Nil, error)
}
type routesClient struct {
@ -398,8 +400,8 @@ func (c *routesClient) GetAll(ctx context.Context, in *Nil, opts ...grpc.CallOpt
return out, nil
}
func (c *routesClient) Put(ctx context.Context, in *Route, opts ...grpc.CallOption) (*IDResponse, error) {
out := new(IDResponse)
func (c *routesClient) Put(ctx context.Context, in *Route, opts ...grpc.CallOption) (*Route, error) {
out := new(Route)
err := grpc.Invoke(ctx, "/route.Routes/Put", in, out, c.cc, opts...)
if err != nil {
return nil, err
@ -407,8 +409,8 @@ func (c *routesClient) Put(ctx context.Context, in *Route, opts ...grpc.CallOpti
return out, nil
}
func (c *routesClient) Delete(ctx context.Context, in *Route, opts ...grpc.CallOption) (*IDResponse, error) {
out := new(IDResponse)
func (c *routesClient) Delete(ctx context.Context, in *Route, opts ...grpc.CallOption) (*Nil, error) {
out := new(Nil)
err := grpc.Invoke(ctx, "/route.Routes/Delete", in, out, c.cc, opts...)
if err != nil {
return nil, err
@ -419,10 +421,14 @@ func (c *routesClient) Delete(ctx context.Context, in *Route, opts ...grpc.CallO
// Server API for Routes service
type RoutesServer interface {
// Get fetches a single route based on the Host or ID.
Get(context.Context, *GetRouteRequest) (*Route, error)
// GetAll fetches all of the routes that the user owns.
GetAll(context.Context, *Nil) (*GetAllRoutesResponse, error)
Put(context.Context, *Route) (*IDResponse, error)
Delete(context.Context, *Route) (*IDResponse, error)
// Put creates a new route based on user-supplied details.
Put(context.Context, *Route) (*Route, error)
// Delete removes a route.
Delete(context.Context, *Route) (*Nil, error)
}
func RegisterRoutesServer(s *grpc.Server, srv RoutesServer) {
@ -822,41 +828,40 @@ var _Backends_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("route.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 565 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x5d, 0x8b, 0xd3, 0x40,
0x14, 0xcd, 0x47, 0x93, 0xb6, 0xb7, 0xb2, 0x5d, 0x2f, 0x65, 0x09, 0x5d, 0x1f, 0xca, 0xb8, 0xae,
0x41, 0x71, 0x91, 0xae, 0xe0, 0x8b, 0x3e, 0x28, 0x95, 0x52, 0x94, 0x45, 0x52, 0xdf, 0x7c, 0x4a,
0xda, 0x0b, 0x0d, 0x1b, 0x3b, 0x35, 0x33, 0x15, 0xfc, 0x29, 0xfe, 0x1e, 0x7f, 0x83, 0xff, 0x47,
0x72, 0x67, 0xfa, 0x91, 0x76, 0x95, 0x7d, 0x9b, 0x7b, 0xcf, 0x99, 0x9b, 0x73, 0xee, 0x9c, 0x40,
0xa7, 0x94, 0x6b, 0x4d, 0x57, 0xab, 0x52, 0x6a, 0x89, 0x01, 0x17, 0x22, 0x00, 0xff, 0x26, 0x2f,
0xc4, 0x13, 0xe8, 0x8e, 0x49, 0x27, 0x55, 0x2b, 0xa1, 0xef, 0x6b, 0x52, 0x1a, 0x11, 0x1a, 0x0b,
0xa9, 0x74, 0xe4, 0x0e, 0xdc, 0xb8, 0x9d, 0xf0, 0x59, 0x7c, 0x80, 0x80, 0x39, 0x78, 0x02, 0x5e,
0x3e, 0xb7, 0x90, 0x97, 0xcf, 0x31, 0x82, 0xe6, 0xac, 0xa4, 0x54, 0xcb, 0x32, 0xf2, 0xb8, 0xb9,
0x29, 0xb7, 0x63, 0xfc, 0xbd, 0x31, 0x6f, 0xa0, 0x37, 0x26, 0xfd, 0xae, 0x28, 0x78, 0x98, 0x4a,
0x48, 0xad, 0xe4, 0x52, 0x11, 0x5e, 0x40, 0xc8, 0xaa, 0x54, 0xe4, 0x0e, 0xfc, 0xb8, 0x33, 0x7c,
0x70, 0x65, 0x14, 0x1b, 0x5d, 0x16, 0x13, 0x8f, 0x00, 0x26, 0xa3, 0xed, 0x9d, 0x03, 0x25, 0xe2,
0x2b, 0x04, 0x5f, 0xe4, 0x2d, 0x2d, 0x8f, 0x24, 0x22, 0x34, 0x32, 0x39, 0xff, 0x69, 0xf5, 0xf1,
0x19, 0xcf, 0x20, 0x54, 0x33, 0xb9, 0x22, 0x15, 0xf9, 0x03, 0x3f, 0x6e, 0x27, 0xb6, 0xaa, 0xfa,
0xe9, 0x4c, 0xe7, 0x3f, 0x28, 0x6a, 0x0c, 0xdc, 0xb8, 0x95, 0xd8, 0x4a, 0xbc, 0x84, 0x16, 0x0f,
0x9f, 0x92, 0xae, 0xc4, 0xea, 0xea, 0x7c, 0x28, 0x96, 0x09, 0x89, 0xc5, 0xc4, 0x6b, 0x5e, 0xac,
0xe9, 0xd9, 0xc5, 0xf6, 0x20, 0x60, 0xd0, 0x6a, 0x33, 0x85, 0x95, 0xeb, 0x6d, 0x7d, 0xfc, 0x72,
0xa1, 0xf9, 0x3e, 0x9d, 0xdd, 0xd2, 0x72, 0x7e, 0x64, 0xa5, 0x07, 0x01, 0x3f, 0xa2, 0xa5, 0x9b,
0xa2, 0x32, 0xb8, 0x56, 0x54, 0x6e, 0x36, 0x5d, 0x9d, 0x2b, 0x23, 0x73, 0xf9, 0x2d, 0xcd, 0x97,
0x6c, 0xa4, 0x9d, 0xd8, 0x0a, 0x4f, 0xc1, 0x5f, 0x2d, 0xf2, 0x28, 0x18, 0xb8, 0xb1, 0x97, 0x54,
0xc7, 0xed, 0x3b, 0x85, 0xbb, 0x77, 0xaa, 0x6e, 0xaf, 0x55, 0x9a, 0x15, 0x14, 0x35, 0xcd, 0x1a,
0x4c, 0x25, 0x52, 0xe8, 0x58, 0x69, 0x9f, 0x72, 0xa5, 0xf1, 0x12, 0xbc, 0x4c, 0xb1, 0xbc, 0xce,
0xf0, 0xcc, 0x6e, 0xc1, 0xe2, 0x53, 0x2a, 0x68, 0xa6, 0x65, 0x99, 0x78, 0x99, 0xc2, 0x67, 0xd0,
0xca, 0x4c, 0x5b, 0x45, 0x1e, 0xef, 0xec, 0xa4, 0xce, 0x4e, 0xb6, 0xb8, 0x78, 0x0b, 0xdd, 0x83,
0x11, 0x7b, 0x5e, 0xdc, 0x9a, 0x97, 0x8d, 0x6f, 0x6f, 0xe7, 0x5b, 0x9c, 0x43, 0xdb, 0x5e, 0x9f,
0x8c, 0x0e, 0xd7, 0x37, 0xfc, 0xed, 0x42, 0x68, 0x92, 0x87, 0x2f, 0xc0, 0x1f, 0x93, 0xc6, 0x8d,
0xea, 0x83, 0x7f, 0xa0, 0x5f, 0x0b, 0xa0, 0x70, 0xf0, 0x1a, 0x42, 0x13, 0x5c, 0x04, 0x8b, 0xdc,
0xe4, 0x45, 0xff, 0x7c, 0x77, 0xfb, 0x28, 0xd3, 0xc2, 0xc1, 0x18, 0xfc, 0xcf, 0x6b, 0x8d, 0xb5,
0x59, 0xfd, 0x87, 0xb6, 0xda, 0x25, 0x59, 0x38, 0xf8, 0x1c, 0xc2, 0x11, 0x15, 0xa4, 0xe9, 0x1e,
0xe4, 0xe1, 0x1f, 0x17, 0x42, 0xce, 0xd5, 0x5d, 0x2e, 0xf6, 0x03, 0xd7, 0xaf, 0x25, 0x53, 0x38,
0xf8, 0xf4, 0x4e, 0x17, 0xdd, 0x7d, 0xd6, 0x94, 0xb4, 0x70, 0xf0, 0x71, 0x5d, 0x39, 0x23, 0x47,
0xd3, 0x2e, 0x8e, 0x44, 0x1b, 0xde, 0xde, 0x6c, 0x5e, 0x02, 0x8c, 0x88, 0xff, 0xa2, 0xf4, 0xff,
0xcc, 0xe1, 0x02, 0x5a, 0xf6, 0xe9, 0x14, 0xbe, 0x82, 0x06, 0x27, 0xec, 0x1f, 0xa9, 0xea, 0x63,
0xbd, 0x5f, 0x71, 0x85, 0x83, 0x97, 0xd0, 0xf8, 0x98, 0x17, 0x05, 0x9e, 0xd6, 0xd1, 0xc9, 0xa8,
0xfe, 0xa5, 0x2c, 0xe4, 0xff, 0xe6, 0xfa, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x00, 0xdd,
0xf1, 0x18, 0x05, 0x00, 0x00,
// 551 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0x5d, 0x8b, 0xd3, 0x40,
0x14, 0xed, 0x24, 0x4d, 0xda, 0xde, 0xca, 0x76, 0xb9, 0x94, 0x12, 0xba, 0x2f, 0x65, 0x5c, 0xd6,
0x20, 0xb8, 0x48, 0x57, 0xf1, 0x45, 0x1f, 0x94, 0x4a, 0x59, 0x94, 0x45, 0xa6, 0xbe, 0xf9, 0x94,
0xb4, 0x17, 0x1a, 0x36, 0x76, 0x6a, 0x66, 0x2a, 0xf8, 0x53, 0xfc, 0x25, 0xfe, 0x12, 0xff, 0x8f,
0x64, 0x66, 0xfa, 0x91, 0x64, 0xdd, 0xb7, 0xb9, 0xf7, 0x9c, 0xb9, 0x39, 0xe7, 0xce, 0x09, 0xf4,
0x0b, 0xb9, 0xd3, 0x74, 0xbd, 0x2d, 0xa4, 0x96, 0x18, 0x98, 0x82, 0x07, 0xe0, 0xdf, 0x65, 0x39,
0x7f, 0x0d, 0x83, 0x39, 0x69, 0x51, 0xb6, 0x04, 0xfd, 0xd8, 0x91, 0xd2, 0x88, 0xd0, 0x5e, 0x4b,
0xa5, 0x23, 0x36, 0x61, 0x71, 0x4f, 0x98, 0x33, 0x9e, 0x81, 0x97, 0xad, 0x22, 0xcf, 0x74, 0xbc,
0x6c, 0xc5, 0x3f, 0x42, 0x60, 0xee, 0x38, 0x80, 0xed, 0x01, 0x8c, 0xa0, 0xb3, 0x2c, 0x28, 0xd1,
0xb2, 0x70, 0xec, 0x7d, 0x79, 0x18, 0xeb, 0x1f, 0xc7, 0xf2, 0xb7, 0x30, 0x9c, 0x93, 0x7e, 0x9f,
0xe7, 0x66, 0x98, 0x12, 0xa4, 0xb6, 0x72, 0xa3, 0x08, 0x2f, 0x21, 0x34, 0x2a, 0x55, 0xc4, 0x26,
0x7e, 0xdc, 0x9f, 0x3e, 0xb9, 0xb6, 0x0e, 0xac, 0x4e, 0x87, 0xf1, 0x6f, 0x10, 0x7c, 0x95, 0xf7,
0xb4, 0x69, 0x88, 0x40, 0x68, 0xa7, 0x72, 0xf5, 0xcb, 0x29, 0x30, 0x67, 0x1c, 0x41, 0xa8, 0x96,
0x72, 0x4b, 0x2a, 0xf2, 0x27, 0x7e, 0xdc, 0x13, 0xae, 0x2a, 0xfb, 0xc9, 0x52, 0x67, 0x3f, 0x29,
0x6a, 0x4f, 0x58, 0xdc, 0x15, 0xae, 0xe2, 0x2f, 0xa1, 0x6b, 0x86, 0x2f, 0x48, 0x97, 0x72, 0x74,
0x79, 0xae, 0xcb, 0x31, 0x04, 0xe1, 0x30, 0xfe, 0xc6, 0xac, 0xd2, 0xf6, 0xdc, 0x2a, 0x87, 0x10,
0x18, 0xd0, 0x69, 0xb3, 0x45, 0x63, 0x99, 0xbf, 0x19, 0x74, 0x3e, 0x24, 0xcb, 0x7b, 0xda, 0xac,
0x1a, 0x56, 0x86, 0x10, 0x98, 0x67, 0x73, 0x74, 0x5b, 0x94, 0x06, 0x77, 0x8a, 0x8a, 0xfd, 0x2e,
0xcb, 0x73, 0x69, 0x64, 0x25, 0xbf, 0x27, 0xd9, 0xc6, 0x18, 0xe9, 0x09, 0x57, 0xe1, 0x39, 0xf8,
0xdb, 0x75, 0x16, 0x05, 0x13, 0x16, 0x7b, 0xa2, 0x3c, 0x1e, 0x5e, 0x22, 0x3c, 0x79, 0xe0, 0x11,
0x84, 0x3b, 0x95, 0xa4, 0x39, 0x45, 0x1d, 0xbb, 0x06, 0x5b, 0xf1, 0x04, 0xfa, 0x4e, 0xda, 0xe7,
0x4c, 0x69, 0xbc, 0x02, 0x2f, 0x55, 0x46, 0x5e, 0x7f, 0x3a, 0x72, 0x5b, 0x70, 0xf8, 0x82, 0x72,
0x5a, 0x6a, 0x59, 0x08, 0x2f, 0x55, 0xf8, 0x1c, 0xba, 0xa9, 0x6d, 0xab, 0xc8, 0x33, 0x3b, 0x3b,
0xab, 0xb2, 0xc5, 0x01, 0xe7, 0xef, 0x60, 0x50, 0x1b, 0x71, 0xe2, 0x85, 0x55, 0xbc, 0xec, 0x7d,
0x7b, 0x47, 0xdf, 0xfc, 0x02, 0x7a, 0xee, 0xfa, 0xed, 0xac, 0xbe, 0xbe, 0xe9, 0x1f, 0x06, 0xa1,
0xcd, 0x16, 0xbe, 0x00, 0x7f, 0x4e, 0x1a, 0xf7, 0xaa, 0x6b, 0xa9, 0x1f, 0x57, 0x22, 0xc6, 0x5b,
0x78, 0x03, 0xa1, 0x8d, 0x26, 0x82, 0x43, 0xee, 0xb2, 0x7c, 0x7c, 0x71, 0xbc, 0xdd, 0x48, 0x2d,
0x6f, 0xe1, 0x53, 0xf0, 0xbf, 0xec, 0x34, 0x56, 0x66, 0x35, 0x26, 0x5f, 0x42, 0x38, 0xa3, 0x9c,
0x34, 0xd5, 0x78, 0x27, 0xdf, 0xe1, 0xad, 0xe9, 0x5f, 0x06, 0xa1, 0xc9, 0xd2, 0x43, 0xca, 0x4f,
0x43, 0x36, 0xae, 0xa4, 0x91, 0xb7, 0xf0, 0xd9, 0x83, 0xca, 0x07, 0xa7, 0xac, 0x05, 0xe9, 0xa6,
0x5a, 0x83, 0x34, 0xa6, 0x35, 0xd5, 0x5a, 0x5e, 0x45, 0x2d, 0xc6, 0x00, 0x33, 0x32, 0x7f, 0x4e,
0xf2, 0x38, 0x73, 0xba, 0x86, 0xae, 0x7b, 0x2e, 0x85, 0xaf, 0xa0, 0x6d, 0x52, 0xf5, 0x9f, 0x24,
0x8d, 0xb1, 0xda, 0x2f, 0xb9, 0xbc, 0x85, 0x57, 0xd0, 0xfe, 0x94, 0xe5, 0x39, 0x9e, 0x57, 0xd1,
0xdb, 0x59, 0xf5, 0x4b, 0x69, 0x68, 0xfe, 0x95, 0x9b, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1f,
0x1c, 0x58, 0xf3, 0xfe, 0x04, 0x00, 0x00,
}

View File

@ -4,93 +4,66 @@ syntax = "proto3";
package route;
// import "google/api/annotations.proto";
// Nil represents nothing.
message Nil {}
// Routes lets users manage and manipulate http routes.
service Routes {
rpc Get(GetRouteRequest) returns (Route) {
// option (google.api.http) = {
// get: "/v1/routes/{host}"
// };
}
// Get fetches a single route based on the Host or ID.
rpc Get(GetRouteRequest) returns (Route) {}
rpc GetAll(Nil) returns (GetAllRoutesResponse) {
// option (google.api.http) = {
// get: "/v1/routes"
// };
}
// GetAll fetches all of the routes that the user owns.
rpc GetAll(Nil) returns (GetAllRoutesResponse) {}
rpc Put(Route) returns (IDResponse) {
// option (google.api.http) = {
// post: "/v1/routes"
// };
}
// Put creates a new route based on user-supplied details.
rpc Put(Route) returns (Route) {}
rpc Delete(Route) returns (IDResponse) {
// option (google.api.http) = {
// delete: "/v1/routes/{host}"
// };
}
// Delete removes a route.
rpc Delete(Route) returns (Nil) {}
}
// GetRouteRequest specifies the host or id of the route that the user wants
// to fetch.
message GetRouteRequest {
string host = 1;
string id = 2;
}
// Route is a single HTTP route.
message Route {
string id = 1;
string creator = 2;
string host = 3;
}
// GetAllRoutesResponse encapsulates a list of routes.
message GetAllRoutesResponse {
repeated Route routes = 1;
}
message IDResponse {
string id = 1;
}
// Tokens lets a user manage the database authentication tokens.
service Tokens {
rpc Get(GetTokenRequest) returns (Token) {
// option (google.api.http) = {
// get: "/v1/tokens/one"
// };
}
rpc Get(GetTokenRequest) returns (Token) {}
rpc GetAll(Nil) returns (TokenSet) {
// option (google.api.http) = {
// get: "/v1/tokens"
// };
}
rpc GetAll(Nil) returns (TokenSet) {}
rpc Put(Token) returns (Token) {
// option (google.api.http) = {
// post: "/v1/tokens"
// };
}
rpc Put(Token) returns (Token) {}
rpc Delete(Token) returns (Nil) {
// option (google.api.http) = {
// delete: "/v1/tokens"
// };
}
rpc Delete(Token) returns (Nil) {}
rpc Deactivate(Token) returns (Nil) {
// option (google.api.http) = {
// post: "/v1/tokens/deactivate"
// };
}
rpc Deactivate(Token) returns (Nil) {}
}
// Token is an individual authentication token. Id and Body will usually be
// unique ID's or other cryptographic identifiers.
message Token {
string id = 1;
string body = 2;
repeated string scopes = 3;
string body = 2; // the actual token used in authenitcation
repeated string scopes = 3; // the permissions the token has
bool active = 4;
}
// Tokenset encapsulates a list of tokens.
message TokenSet {
repeated Token tokens = 1;
}
@ -101,17 +74,9 @@ message GetTokenRequest {
}
service Backends {
rpc List(BackendSelector) returns (BackendList) {
// option (google.api.http) = {
// get: "/v1/backends"
// };
}
rpc List(BackendSelector) returns (BackendList) {}
rpc Kill(BackendID) returns (Nil) {
// option (google.api.http) = {
// post: "/v1/backends/{id}/kill"
// };
}
rpc Kill(BackendID) returns (Nil) {}
}
message Backend {