code: func HTTPRequest(err error) (*http.Request, bool) {
  	type httpError interface {
  		HTTPRequest() *http.Request
  	}
  
  	var req *http.Request
  
  	emperror.ForEachCause(err, func(err error) bool {
  		if httpErr, ok := err.(httpError); ok {
  			req = httpErr.HTTPRequest()
  
  			return false
  		}
  
  		return true
  	})
  
  	return req, req != nil
  }
docs: // HTTPRequest extracts an HTTP request from an error (if any).
  //
  // It loops through the whole error chain (if any).