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}