code: func (h HandlerFunc) Handle(rawReq json.RawMessage, ctx *apex.Context) (interface{}, error) {
  	var req Request
  
  	if err := json.Unmarshal(rawReq, &req); err != nil {
  		return nil, err
  	}
  
  	log.Printf("Request %#v", req)
  
  	data, err := h(&req, ctx)
  	resp := buildResponse(req, ctx)
  	resp.Data = data
  
  	if err != nil {
  		resp.Status = "FAILURE"
  		resp.Reason = err.Error()
  	}
  
  	log.Printf("Response %#v", resp)
  	log.Printf("Data %#v", data)
  
  	return data, sendResponse(resp, req.ResponseURL)
  }
docs: // Handle implements apex.Handler.