main
1package web
2
3import (
4 "encoding/json"
5 "fmt"
6 "net/http"
7
8 "mokhan.ca/xlgmokha/idp/pkg/dto"
9 "mokhan.ca/xlgmokha/idp/pkg/tasks"
10)
11
12func (h *HttpContext) Register(w http.ResponseWriter, r *http.Request) {
13 var request dto.ClientRegistrationRequest
14 json.NewDecoder(r.Body).Decode(&request)
15
16 if response, err := tasks.CreateClient(request); err != nil {
17 w.WriteHeader(http.StatusBadRequest)
18 w.Header().Set("Content-Type", "application/json")
19 w.Header().Set("Cache-Control", "no-store")
20 w.Header().Set("Pragma", "no-cache")
21 fmt.Fprintf(w, `{"error":"%s","error_description":"%s"}`, err.Error(), err.Error())
22 } else {
23 w.WriteHeader(http.StatusCreated)
24 w.Header().Set("Content-Type", "application/json")
25 w.Header().Set("Cache-Control", "no-store")
26 w.Header().Set("Pragma", "no-cache")
27 json.NewEncoder(w).Encode(response)
28 }
29}