Translate WinHTTP / WinInet error codes into short diagnostic strings. Only covers codes that are realistic during an SSE stream.
| 117 | // Translate WinHTTP / WinInet error codes into short diagnostic strings. |
| 118 | // Only covers codes that are realistic during an SSE stream. |
| 119 | static const char* WinHttpErrorName(DWORD err) { |
| 120 | switch (err) { |
| 121 | case 0: return "OK"; |
| 122 | case 12002: /* ERROR_WINHTTP_TIMEOUT */ return "WINHTTP_TIMEOUT"; |
| 123 | case 12004: /* ERROR_WINHTTP_INTERNAL_ERROR */ return "WINHTTP_INTERNAL_ERROR"; |
| 124 | case 12005: /* ERROR_WINHTTP_INVALID_URL */ return "WINHTTP_INVALID_URL"; |
| 125 | case 12007: /* ERROR_WINHTTP_NAME_NOT_RESOLVED */ return "NAME_NOT_RESOLVED"; |
| 126 | case 12029: /* ERROR_WINHTTP_CANNOT_CONNECT */ return "CANNOT_CONNECT"; |
| 127 | case 12030: /* ERROR_WINHTTP_CONNECTION_ERROR */ return "CONNECTION_ERROR"; |
| 128 | case 12031: /* ERROR_WINHTTP_RESET */ return "CONNECTION_RESET"; |
| 129 | case 12032: /* ERROR_WINHTTP_REDIRECT_FAILED */ return "REDIRECT_FAILED"; |
| 130 | case 12152: /* ERROR_WINHTTP_INVALID_SERVER_RESPONSE */ return "INVALID_SERVER_RESPONSE"; |
| 131 | case 12175: /* ERROR_WINHTTP_SECURE_FAILURE */ return "SECURE_FAILURE"; |
| 132 | case 12178: /* ERROR_WINHTTP_AUTODETECTION_FAILED */ return "AUTODETECTION_FAILED"; |
| 133 | default: return "WINHTTP_UNKNOWN"; |
| 134 | } |
| 135 | } |
| 136 | |
| 137 | // Translate common Winsock error codes encountered while writing back to |
| 138 | // the VM-side HTTP client. |