| // Package googleapi provides helpers for Google-style API responses. | |
| package googleapi | |
| import "net/http" | |
| // HTTPStatusToGoogleStatus maps HTTP status codes to Google-style error status strings. | |
| func HTTPStatusToGoogleStatus(status int) string { | |
| switch status { | |
| case http.StatusBadRequest: | |
| return "INVALID_ARGUMENT" | |
| case http.StatusUnauthorized: | |
| return "UNAUTHENTICATED" | |
| case http.StatusForbidden: | |
| return "PERMISSION_DENIED" | |
| case http.StatusNotFound: | |
| return "NOT_FOUND" | |
| case http.StatusTooManyRequests: | |
| return "RESOURCE_EXHAUSTED" | |
| default: | |
| if status >= 500 { | |
| return "INTERNAL" | |
| } | |
| return "UNKNOWN" | |
| } | |
| } | |