fleet/server/service/transport_invites.go
Zachary Wasserman 715d908613 Update go-kit to 0.4.0 (#1411)
Notable refactoring:
- Use stdlib "context" in place of "golang.org/x/net/context"
- Go-kit no longer wraps errors, so we remove the unwrap in transport_error.go
- Use MakeHandler when setting up endpoint tests (fixes test bug caught during
  this refactoring)

Closes #1411.
2017-03-15 08:55:30 -07:00

48 lines
1.1 KiB
Go

package service
import (
"context"
"encoding/json"
"net/http"
"strings"
"github.com/gorilla/mux"
)
func decodeCreateInviteRequest(ctx context.Context, r *http.Request) (interface{}, error) {
var req createInviteRequest
if err := json.NewDecoder(r.Body).Decode(&req.payload); err != nil {
return nil, err
}
if req.payload.Email != nil {
*req.payload.Email = strings.ToLower(*req.payload.Email)
}
return req, nil
}
func decodeDeleteInviteRequest(ctx context.Context, r *http.Request) (interface{}, error) {
id, err := idFromRequest(r, "id")
if err != nil {
return nil, err
}
return deleteInviteRequest{ID: id}, nil
}
func decodeVerifyInviteRequest(ctx context.Context, r *http.Request) (interface{}, error) {
vars := mux.Vars(r)
token, ok := vars["token"]
if !ok {
return 0, errBadRoute
}
return verifyInviteRequest{Token: token}, nil
}
func decodeListInvitesRequest(ctx context.Context, r *http.Request) (interface{}, error) {
opt, err := listOptionsFromRequest(r)
if err != nil {
return nil, err
}
return listInvitesRequest{ListOptions: opt}, nil
}