title: How to override DefaultHTTPErrorHandler format message
body: <p>I'm using the Echo framework.</p>
  
  <p>How can I change this format response to my own format 
  its error from JWT Library <a href="https://github.com/dgrijalva/jwt-go" rel="nofollow noreferrer">https://github.com/dgrijalva/jwt-go</a></p>
  
  <pre><code>{
    "message": "invalid or expired jwt"
  }
  </code></pre>
  
  <p>i want to change something like this</p>
  
  <pre><code>{
    "meta": {
      "status": false,
      "message": "Unauthorized",
      "messages": null
    },
    "result": null
  }
  </code></pre>
  
  <p>i cant find how to do it to override <strong>DefaultHTTPErrorHandler</strong></p>
  
  <p>this customHttpErrorHandler</p>
  
  <pre><code>    e := echo.New()
      e.HTTPErrorHandler = func(err error, c echo.Context) {
          var (
              code = http.StatusInternalServerError
              msg  interface{}
          )
  
          type (
              Map map[string]interface{}
          )
  
          if he, ok := err.(*echo.HTTPError); ok {
              code = he.Code
              msg = he.Message
              if he.Internal != nil {
                  err = fmt.Errorf("%v, %v", err, he.Internal)
              }
          } else if e.Debug {
              msg = err.Error()
          } else {
              msg = http.StatusText(code)
          }
  
          if _, ok := msg.(string); ok {
              msg = Map{"sempak": msg}
          }
  
          // Send response
          if !c.Response().Committed {
              if c.Request().Method == http.MethodHead {
                  err = c.NoContent(code)
              } else {
                  err = c.JSON(code, msg)
              }
              if err != nil {
                  e.Logger.Error(err)
              }
          }
      }
  </code></pre>