diff --git a/httpbin/handlers.go b/httpbin/handlers.go index e6738c61c09cbb9954057ff6fb1e1cdc798e1217..5828599b046eb2aedadbad7158543d7c546b54c2 100644 --- a/httpbin/handlers.go +++ b/httpbin/handlers.go @@ -898,13 +898,8 @@ func (h *HTTPBin) DigestAuth(w http.ResponseWriter, r *http.Request) { // UUID - responds with a generated UUID func (h *HTTPBin) UUID(w http.ResponseWriter, r *http.Request) { - u, err := uuidv4() - if err != nil { - http.Error(w, fmt.Sprintf("Failed to generate uuid: %s", err), http.StatusInternalServerError) - return - } resp, _ := json.Marshal(&uuidResponse{ - UUID: u, + UUID: uuidv4(), }) writeJSON(w, resp, http.StatusOK) } diff --git a/httpbin/helpers.go b/httpbin/helpers.go index 87acfbb1b45bfcbaf9397a57ddb970b97c331c07..4c4c66c1a587137a285962fe94433a548a90add2 100644 --- a/httpbin/helpers.go +++ b/httpbin/helpers.go @@ -236,16 +236,15 @@ func sha1hash(input string) string { return fmt.Sprintf("%x", h.Sum([]byte(input))) } -func uuidv4() (string, error) { +func uuidv4() string { buff := make([]byte, 16) _, err := rand.Read(buff[:]) if err != nil { - return "", err + panic(err) } buff[6] = (buff[6] & 0x0f) | 0x40 // Version 4 buff[8] = (buff[8] & 0x3f) | 0x80 // Variant 10 - uuid := fmt.Sprintf("%x-%x-%x-%x-%x", buff[0:4], buff[4:6], buff[6:8], buff[8:10], buff[10:]) - return uuid, nil + return fmt.Sprintf("%x-%x-%x-%x-%x", buff[0:4], buff[4:6], buff[6:8], buff[8:10], buff[10:]) } // base64Helper - describes the base64 operation (encode|decode) and input data