1*6777b538SAndroid Build Coastguard Worker // Copyright 2013 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "net/http/http_status_code.h" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker #include <ostream> 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Worker #include "base/notreached.h" 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker namespace net { 12*6777b538SAndroid Build Coastguard Worker GetHttpReasonPhrase(HttpStatusCode code)13*6777b538SAndroid Build Coastguard Workerconst char* GetHttpReasonPhrase(HttpStatusCode code) { 14*6777b538SAndroid Build Coastguard Worker if (const char* phrase = TryToGetHttpReasonPhrase(code)) { 15*6777b538SAndroid Build Coastguard Worker return phrase; 16*6777b538SAndroid Build Coastguard Worker } 17*6777b538SAndroid Build Coastguard Worker DUMP_WILL_BE_NOTREACHED_NORETURN() << "unknown HTTP status code " << code; 18*6777b538SAndroid Build Coastguard Worker return nullptr; 19*6777b538SAndroid Build Coastguard Worker } 20*6777b538SAndroid Build Coastguard Worker TryToGetHttpReasonPhrase(HttpStatusCode code)21*6777b538SAndroid Build Coastguard Workerconst char* TryToGetHttpReasonPhrase(HttpStatusCode code) { 22*6777b538SAndroid Build Coastguard Worker switch (code) { 23*6777b538SAndroid Build Coastguard Worker #define HTTP_STATUS_ENUM_VALUE(label, code, reason) \ 24*6777b538SAndroid Build Coastguard Worker case HTTP_##label: \ 25*6777b538SAndroid Build Coastguard Worker return reason; 26*6777b538SAndroid Build Coastguard Worker #include "net/http/http_status_code_list.h" 27*6777b538SAndroid Build Coastguard Worker #undef HTTP_STATUS_ENUM_VALUE 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker default: 30*6777b538SAndroid Build Coastguard Worker return nullptr; 31*6777b538SAndroid Build Coastguard Worker } 32*6777b538SAndroid Build Coastguard Worker } 33*6777b538SAndroid Build Coastguard Worker 34*6777b538SAndroid Build Coastguard Worker } // namespace net 35