aboutsummaryrefslogtreecommitdiff
path: root/userapi/inthttp
diff options
context:
space:
mode:
Diffstat (limited to 'userapi/inthttp')
-rw-r--r--userapi/inthttp/client.go3
-rw-r--r--userapi/inthttp/server.go29
2 files changed, 31 insertions, 1 deletions
diff --git a/userapi/inthttp/client.go b/userapi/inthttp/client.go
index a89d1a26..1599d463 100644
--- a/userapi/inthttp/client.go
+++ b/userapi/inthttp/client.go
@@ -228,7 +228,7 @@ func (h *httpUserInternalAPI) QueryOpenIDToken(ctx context.Context, req *api.Que
return httputil.PostJSON(ctx, span, h.httpClient, apiURL, req, res)
}
-func (h *httpUserInternalAPI) PerformKeyBackup(ctx context.Context, req *api.PerformKeyBackupRequest, res *api.PerformKeyBackupResponse) {
+func (h *httpUserInternalAPI) PerformKeyBackup(ctx context.Context, req *api.PerformKeyBackupRequest, res *api.PerformKeyBackupResponse) error {
span, ctx := opentracing.StartSpanFromContext(ctx, "PerformKeyBackup")
defer span.Finish()
@@ -237,6 +237,7 @@ func (h *httpUserInternalAPI) PerformKeyBackup(ctx context.Context, req *api.Per
if err != nil {
res.Error = err.Error()
}
+ return nil
}
func (h *httpUserInternalAPI) QueryKeyBackup(ctx context.Context, req *api.QueryKeyBackupRequest, res *api.QueryKeyBackupResponse) {
span, ctx := opentracing.StartSpanFromContext(ctx, "QueryKeyBackup")
diff --git a/userapi/inthttp/server.go b/userapi/inthttp/server.go
index 1c1cfdcd..ac05bcd0 100644
--- a/userapi/inthttp/server.go
+++ b/userapi/inthttp/server.go
@@ -16,6 +16,7 @@ package inthttp
import (
"encoding/json"
+ "fmt"
"net/http"
"github.com/gorilla/mux"
@@ -234,4 +235,32 @@ func AddRoutes(internalAPIMux *mux.Router, s api.UserInternalAPI) {
return util.JSONResponse{Code: http.StatusOK, JSON: &response}
}),
)
+ internalAPIMux.Handle(QueryKeyBackupPath,
+ httputil.MakeInternalAPI("queryKeyBackup", func(req *http.Request) util.JSONResponse {
+ request := api.QueryKeyBackupRequest{}
+ response := api.QueryKeyBackupResponse{}
+ if err := json.NewDecoder(req.Body).Decode(&request); err != nil {
+ return util.MessageResponse(http.StatusBadRequest, err.Error())
+ }
+ s.QueryKeyBackup(req.Context(), &request, &response)
+ if response.Error != "" {
+ return util.ErrorResponse(fmt.Errorf("QueryKeyBackup: %s", response.Error))
+ }
+ return util.JSONResponse{Code: http.StatusOK, JSON: &response}
+ }),
+ )
+ internalAPIMux.Handle(PerformKeyBackupPath,
+ httputil.MakeInternalAPI("performKeyBackup", func(req *http.Request) util.JSONResponse {
+ request := api.PerformKeyBackupRequest{}
+ response := api.PerformKeyBackupResponse{}
+ if err := json.NewDecoder(req.Body).Decode(&request); err != nil {
+ return util.MessageResponse(http.StatusBadRequest, err.Error())
+ }
+ err := s.PerformKeyBackup(req.Context(), &request, &response)
+ if err != nil {
+ return util.JSONResponse{Code: http.StatusBadRequest, JSON: &response}
+ }
+ return util.JSONResponse{Code: http.StatusOK, JSON: &response}
+ }),
+ )
}