| // Copyright 2021 The Chromium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include "quiche/balsa/balsa_enums.h" | |
| namespace quiche { | |
| const char* BalsaFrameEnums::ParseStateToString( | |
| BalsaFrameEnums::ParseState error_code) { | |
| switch (error_code) { | |
| case ERROR: | |
| return "ERROR"; | |
| case READING_HEADER_AND_FIRSTLINE: | |
| return "READING_HEADER_AND_FIRSTLINE"; | |
| case READING_CHUNK_LENGTH: | |
| return "READING_CHUNK_LENGTH"; | |
| case READING_CHUNK_EXTENSION: | |
| return "READING_CHUNK_EXTENSION"; | |
| case READING_CHUNK_DATA: | |
| return "READING_CHUNK_DATA"; | |
| case READING_CHUNK_TERM: | |
| return "READING_CHUNK_TERM"; | |
| case READING_LAST_CHUNK_TERM: | |
| return "READING_LAST_CHUNK_TERM"; | |
| case READING_TRAILER: | |
| return "READING_TRAILER"; | |
| case READING_UNTIL_CLOSE: | |
| return "READING_UNTIL_CLOSE"; | |
| case READING_CONTENT: | |
| return "READING_CONTENT"; | |
| case MESSAGE_FULLY_READ: | |
| return "MESSAGE_FULLY_READ"; | |
| case NUM_STATES: | |
| return "UNKNOWN_STATE"; | |
| } | |
| return "UNKNOWN_STATE"; | |
| } | |
| const char* BalsaFrameEnums::ErrorCodeToString( | |
| BalsaFrameEnums::ErrorCode error_code) { | |
| switch (error_code) { | |
| case BALSA_NO_ERROR: | |
| return "BALSA_NO_ERROR"; | |
| case NO_STATUS_LINE_IN_RESPONSE: | |
| return "NO_STATUS_LINE_IN_RESPONSE"; | |
| case NO_REQUEST_LINE_IN_REQUEST: | |
| return "NO_REQUEST_LINE_IN_REQUEST"; | |
| case FAILED_TO_FIND_WS_AFTER_RESPONSE_VERSION: | |
| return "FAILED_TO_FIND_WS_AFTER_RESPONSE_VERSION"; | |
| case FAILED_TO_FIND_WS_AFTER_REQUEST_METHOD: | |
| return "FAILED_TO_FIND_WS_AFTER_REQUEST_METHOD"; | |
| case FAILED_TO_FIND_WS_AFTER_RESPONSE_STATUSCODE: | |
| return "FAILED_TO_FIND_WS_AFTER_RESPONSE_STATUSCODE"; | |
| case FAILED_TO_FIND_WS_AFTER_REQUEST_REQUEST_URI: | |
| return "FAILED_TO_FIND_WS_AFTER_REQUEST_REQUEST_URI"; | |
| case FAILED_TO_FIND_NL_AFTER_RESPONSE_REASON_PHRASE: | |
| return "FAILED_TO_FIND_NL_AFTER_RESPONSE_REASON_PHRASE"; | |
| case FAILED_TO_FIND_NL_AFTER_REQUEST_HTTP_VERSION: | |
| return "FAILED_TO_FIND_NL_AFTER_REQUEST_HTTP_VERSION"; | |
| case FAILED_CONVERTING_STATUS_CODE_TO_INT: | |
| return "FAILED_CONVERTING_STATUS_CODE_TO_INT"; | |
| case HEADERS_TOO_LONG: | |
| return "HEADERS_TOO_LONG"; | |
| case UNPARSABLE_CONTENT_LENGTH: | |
| return "UNPARSABLE_CONTENT_LENGTH"; | |
| case HTTP2_CONTENT_LENGTH_ERROR: | |
| return "HTTP2_CONTENT_LENGTH_ERROR"; | |
| case MAYBE_BODY_BUT_NO_CONTENT_LENGTH: | |
| return "MAYBE_BODY_BUT_NO_CONTENT_LENGTH"; | |
| case REQUIRED_BODY_BUT_NO_CONTENT_LENGTH: | |
| return "REQUIRED_BODY_BUT_NO_CONTENT_LENGTH"; | |
| case HEADER_MISSING_COLON: | |
| return "HEADER_MISSING_COLON"; | |
| case INVALID_CHUNK_LENGTH: | |
| return "INVALID_CHUNK_LENGTH"; | |
| case CHUNK_LENGTH_OVERFLOW: | |
| return "CHUNK_LENGTH_OVERFLOW"; | |
| case CALLED_BYTES_SPLICED_WHEN_UNSAFE_TO_DO_SO: | |
| return "CALLED_BYTES_SPLICED_WHEN_UNSAFE_TO_DO_SO"; | |
| case CALLED_BYTES_SPLICED_AND_EXCEEDED_SAFE_SPLICE_AMOUNT: | |
| return "CALLED_BYTES_SPLICED_AND_EXCEEDED_SAFE_SPLICE_AMOUNT"; | |
| case MULTIPLE_CONTENT_LENGTH_KEYS: | |
| return "MULTIPLE_CONTENT_LENGTH_KEYS"; | |
| case MULTIPLE_TRANSFER_ENCODING_KEYS: | |
| return "MULTIPLE_TRANSFER_ENCODING_KEYS"; | |
| case UNKNOWN_TRANSFER_ENCODING: | |
| return "UNKNOWN_TRANSFER_ENCODING"; | |
| case BOTH_TRANSFER_ENCODING_AND_CONTENT_LENGTH: | |
| return "BOTH_TRANSFER_ENCODING_AND_CONTENT_LENGTH"; | |
| case INVALID_HEADER_FORMAT: | |
| return "INVALID_HEADER_FORMAT"; | |
| case HTTP2_INVALID_HEADER_FORMAT: | |
| return "HTTP2_INVALID_HEADER_FORMAT"; | |
| case INVALID_TRAILER_FORMAT: | |
| return "INVALID_TRAILER_FORMAT"; | |
| case TRAILER_TOO_LONG: | |
| return "TRAILER_TOO_LONG"; | |
| case TRAILER_MISSING_COLON: | |
| return "TRAILER_MISSING_COLON"; | |
| case INTERNAL_LOGIC_ERROR: | |
| return "INTERNAL_LOGIC_ERROR"; | |
| case INVALID_HEADER_CHARACTER: | |
| return "INVALID_HEADER_CHARACTER"; | |
| case INVALID_HEADER_NAME_CHARACTER: | |
| return "INVALID_HEADER_NAME_CHARACTER"; | |
| case INVALID_TRAILER_NAME_CHARACTER: | |
| return "INVALID_TRAILER_NAME_CHARACTER"; | |
| case NUM_ERROR_CODES: | |
| return "UNKNOWN_ERROR"; | |
| } | |
| return "UNKNOWN_ERROR"; | |
| } | |
| } // namespace quiche |