code: func GetHTTPErrorStatusCode(err error) int {
  	if err == nil {
  		logrus.WithFields(logrus.Fields{"error": err}).Error("unexpected HTTP error handling")
  		return http.StatusInternalServerError
  	}
  
  	var statusCode int
  
  	// Stop right there
  	// Are you sure you should be adding a new error class here? Do one of the existing ones work?
  
  	// Note that the below functions are already checking the error causal chain for matches.
  	switch {
  	case IsNotFound(err):
  		statusCode = http.StatusNotFound
  	case IsInvalidParameter(err):
  		statusCode = http.StatusBadRequest
  	case IsConflict(err):
  		statusCode = http.StatusConflict
  	case IsUnauthorized(err):
  		statusCode = http.StatusUnauthorized
  	case IsUnavailable(err):
  		statusCode = http.StatusServiceUnavailable
  	case IsForbidden(err):
  		statusCode = http.StatusForbidden
  	case IsNotModified(err):
  		statusCode = http.StatusNotModified
  	case IsNotImplemented(err):
  		statusCode = http.StatusNotImplemented
  	case IsSystem(err) || IsUnknown(err) || IsDataLoss(err) || IsDeadline(err) || IsCancelled(err):
  		statusCode = http.StatusInternalServerError
  	default:
  		statusCode = statusCodeFromGRPCError(err)
  		if statusCode != http.StatusInternalServerError {
  			return statusCode
  		}
  		statusCode = statusCodeFromDistributionError(err)
  		if statusCode != http.StatusInternalServerError {
  			return statusCode
  		}
  		if e, ok := err.(causer); ok {
  			return GetHTTPErrorStatusCode(e.Cause())
  		}
  
  		logrus.WithFields(logrus.Fields{
  			"module":     "api",
  			"error_type": fmt.Sprintf("%T", err),
  		}).Debugf("FIXME: Got an API for which error does not match any expected type!!!: %+v", err)
  	}
  
  	if statusCode == 0 {
  		statusCode = http.StatusInternalServerError
  	}
  
  	return statusCode
  }
docs: // GetHTTPErrorStatusCode retrieves status code from error message.