code: func (h *Handler) Handle(w http.ResponseWriter, r *http.Request) error {
  	req := new(info.Req)
  	body, err := ioutil.ReadAll(r.Body)
  	if err != nil {
  		log.Warningf("failed to read request body: %v", err)
  		return errors.NewBadRequest(err)
  	}
  	r.Body.Close()
  
  	err = json.Unmarshal(body, req)
  	if err != nil {
  		log.Warningf("failed to unmarshal request: %v", err)
  		return errors.NewBadRequest(err)
  	}
  
  	resp, err := h.sign.Info(*req)
  	if err != nil {
  		return err
  	}
  
  	response := api.NewSuccessResponse(resp)
  	w.Header().Set("Content-Type", "application/json")
  	enc := json.NewEncoder(w)
  	return enc.Encode(response)
  }
docs: // Handle listens for incoming requests for CA information, and returns
  // a list containing information on each root certificate.