func NoContent(w http.ResponseWriter) {
	Respond(w, http.StatusNoContent, nil)
}
NoContent writes a response with status code 204. It does not
accept a response value since the HTTP server will not write it
to the client when returning a NoContent response.
package jsonhttp
import (
	"bytes"
	"encoding/json"
	"fmt"
	"net/http"
)
var (
	DefaultContentTypeHeader = "application/json; charset=utf-8"
	EscapeHTML = false
)
type StatusResponse struct {
	Message string `json:"message,omitempty"`
	Code    int    `json:"code,omitempty"`
}
func Respond(w http.ResponseWriter, statusCode int, response interface{}) {
	if statusCode == 0 {
		statusCode = http.StatusOK
	}
	if response == nil {
		response = &StatusResponse{
			Message: http.StatusText(statusCode),
			Code:    statusCode,
		}
	} else {
		switch message := response.(type) {
		case string:
			response = &StatusResponse{
				Message: message,
				Code:    statusCode,
			}
		case error:
			response = &StatusResponse{
				Message: message.Error(),
				Code:    statusCode,
			}
		case interface {
			String() string
		}:
			response = &StatusResponse{
				Message: message.String(),
				Code:    statusCode,
			}
		}
	}
	var b bytes.Buffer
	enc := json.NewEncoder(&b)
	enc.SetEscapeHTML(EscapeHTML)
	if err := enc.Encode(response); err != nil {
		panic(err)
	}
	if DefaultContentTypeHeader != "" {
		w.Header().Set("Content-Type", DefaultContentTypeHeader)
	}
	w.WriteHeader(statusCode)
	fmt.Fprintln(w, b.String())
}
func Continue(w http.ResponseWriter, response interface{}) {
	Respond(w, http.StatusContinue, response)
}
func SwitchingProtocols(w http.ResponseWriter, response interface{}) {
	Respond(w, http.StatusSwitchingProtocols, response)
}
func OK(w http.ResponseWriter, response interface{}) {
	Respond(w, http.StatusOK, response)
}
func Created(w http.ResponseWriter, response interface{}) {
	Respond(w, http.StatusCreated, response)
}
func Accepted(w http.ResponseWriter, response interface{}) {
	Respond(w, http.StatusAccepted, response)
}
func NonAuthoritativeInfo(w http.ResponseWriter, response interface{}) {
	Respond(w, http.StatusNonAuthoritativeInfo, response)
}