import (
"encoding/json"
+ "fmt"
"github.com/gorilla/mux"
"net/http"
dom, err := h.secretBackend.CreateSecretDomain(d.Name)
if err != nil {
- http.Error(w, err.Error(), 400)
+ http.Error(w, err.Error(), 500)
return
}
vars := mux.Vars(r)
domName := vars["domName"]
- h.secretBackend.GetSecretDomain(domName)
+ fmt.Fprintf(w, "Got req %s", domName)
+ //h.secretBackend.GetSecretDomain(domName)
//encode data into json and return
}
return
}
- h.secretBackend.CreateSecret(domName, b)
+ err = h.secretBackend.CreateSecret(domName, b)
+ if err != nil {
+ http.Error(w, err.Error(), 500)
+ return
+ }
+
+ w.WriteHeader(http.StatusCreated)
}
// getSecretHandler handles reading a secret by given domain name and secret name
domName := vars["domName"]
secName := vars["secretName"]
- h.secretBackend.GetSecret(domName, secName)
- //encode and return response
+ sec, err := h.secretBackend.GetSecret(domName, secName)
+ if err != nil {
+ http.Error(w, err.Error(), 500)
+ return
+ }
+
+ err = json.NewEncoder(w).Encode(sec)
+ if err != nil {
+ http.Error(w, err.Error(), 400)
+ return
+ }
+}
+
+// listSecretHandler handles listing all secrets under a particular domain name
+func (h handler) listSecretHandler(w http.ResponseWriter, r *http.Request) {
+ vars := mux.Vars(r)
+ domName := vars["domName"]
+
+ sec, err := h.secretBackend.ListSecret(domName)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return
+ }
+
+ err = json.NewEncoder(w).Encode(sec)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return
+ }
}
// deleteSecretHandler handles deleting a secret by given domain name and secret name
domName := vars["domName"]
secName := vars["secretName"]
- h.secretBackend.DeleteSecret(domName, secName)
+ err := h.secretBackend.DeleteSecret(domName, secName)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return
+ }
}
// struct that tracks various status items for SMS and backend
router.HandleFunc("/v1/sms/domain/{domName}", h.getSecretDomainHandler).Methods("GET")
router.HandleFunc("/v1/sms/domain/{domName}", h.deleteSecretDomainHandler).Methods("DELETE")
- router.HandleFunc("v1/sms/domain/{domainName}/secret", h.createSecretHandler).Methods("POST")
- router.HandleFunc("v1/sms/domain/{domainName}/secret/{secretName}", h.getSecretHandler).Methods("GET")
- router.HandleFunc("v1/sms/domain/{domainName}/secret/{secretName}", h.deleteSecretHandler).Methods("DELETE")
+ router.HandleFunc("/v1/sms/domain/{domName}/secret", h.createSecretHandler).Methods("POST")
+ router.HandleFunc("/v1/sms/domain/{domName}/secret", h.listSecretHandler).Methods("GET")
+ router.HandleFunc("/v1/sms/domain/{domName}/secret/{secretName}", h.getSecretHandler).Methods("GET")
+ router.HandleFunc("/v1/sms/domain/{domName}/secret/{secretName}", h.deleteSecretHandler).Methods("DELETE")
return router
}