LINUX.ORG.RU

Как лучше писать коды HTTP


0

0

Я про эти коды:
100 Continue
101 Switching Protocols
102 Processing
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi Status
300 Multiple Choices
301 Moved Permanently
302 Moved Temporarily
...

Есть некая программа на C, которая ведет учет по кодам, сейчас она это делает так:
double ec[602]; /* у squid с 000 до 601 находится 47 кодов */
ec[code] += bytes;

ec конечно не весь тут используется (много неисользуемых элементов), можно сделать таблицу трансляции, типа:
short int ttable[602][2] = { 100, 0 } ...
через которую можно транслировать, что байты с кодом 100 запишутся в ec с номером элемента 0. Но такой массив ttable будет сложен в инициализации (много пустых мест), можно и функцию сделать, которая будет транслировать через такую таблицу.

Я уже подумываю на какой-нибудь математикой для свертки этих 47 кодов в обычный char...

Подскажите, как лучше организовать? Исходники Squid и Apache смотрел, им проще (они сами определяют когда какой код писать, а мне считывать).

★★★★★

IMHO есть смысл взять какую-нибудь реализацию списков и использовать её. Ключ - код ошибки, значение - количество таких ошибок.

kmeaw ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.