Сетевые технологии. Баканов В.М. - 44 стр.

UptoLike

Составители: 

- 44 -
end;
{ Была запрошена страница по умолчанию ? }
if (isFileName = ‘/’) then
isFileName := sleDefPage.Text
else
{ Нет, добавить корневой каталог в запрашиваемое имя файла }
isFileName := sleDefDir.Text + isFileName;
{ Вызвать процедуру ConvertFileNameToDos для преобразования
имени файла в DOS-формат, чтобы легче его использовать)
ConvertFileNameToDos;
if (asCommand = 'GET') then { Это команда GET ? }
begin
{ Это полный или короткий запрос (HTTP 1.0 или HTTP 0.9) ? }
IbCmdFound := TRUE;
iiHTTPStatus := http_GET;
if (iblsFullRequest) then
SendFullObject
else
SendShortObject;
end;
if (asCommand = 'HEAD') then { Это команда HEAD ? }
begin
{ Это полный или короткий запрос (HTTP 1.0 или HTTP 0.9) ? }
IbCmdFound := TRUE;
iiHTTPStatus := HTTP_HEAD;
if (iblsFullRequest) then
SendFullHeader
else
SendShortHeader;
end;
if (asCommand = 'POST') then { Это команда POST ? }
begin
{ Да, отправить клиенту ответ NOT SUPPORTED (не поддерживается) }
IbCmdFound := TRUE;
iiHTTPStatus := HTTP_POST;
SendContextMsg;
CloseConnection; { Закрыть соединение }
end;
if (not IbCmdFound) then { Не нашли допустимую команду… }
begin
{ Отправить ответ COMMAND UNKNOWN (неизвестная команда) }
iiHTTPStatus := HTTP_UNKWN;
SendContextMsg;
CloseConnection; { Закрыть соединение }
end;
end; { конец CheckCommandMsg }
 end;
{ Была запрошена страница по умолчанию ? }
 if (isFileName = ‘/’) then
  isFileName := sleDefPage.Text
 else
{ Нет, добавить корневой каталог в запрашиваемое имя файла }
 isFileName := sleDefDir.Text + isFileName;
{ Вызвать процедуру ConvertFileNameToDos для преобразования
 имени файла в DOS-формат, чтобы легче его использовать)
 ConvertFileNameToDos;
 if (asCommand = 'GET') then { Это команда GET ? }
 begin
{ Это полный или короткий запрос (HTTP 1.0 или HTTP 0.9) ? }
 IbCmdFound := TRUE;
 iiHTTPStatus := http_GET;
 if (iblsFullRequest) then
  SendFullObject
 else
  SendShortObject;
 end;
if (asCommand = 'HEAD') then { Это команда HEAD ? }
 begin
{ Это полный или короткий запрос (HTTP 1.0 или HTTP 0.9) ? }
  IbCmdFound := TRUE;
  iiHTTPStatus := HTTP_HEAD;
  if (iblsFullRequest) then
   SendFullHeader
  else
   SendShortHeader;
  end;
 if (asCommand = 'POST') then { Это команда POST ? }
 begin
{ Да, отправить клиенту ответ NOT SUPPORTED (не поддерживается) }
  IbCmdFound := TRUE;
  iiHTTPStatus := HTTP_POST;
  SendContextMsg;
  CloseConnection; { Закрыть соединение }
 end;
 if (not IbCmdFound) then { Не нашли допустимую команду… }
 begin
{ Отправить ответ COMMAND UNKNOWN (неизвестная команда) }
  iiHTTPStatus := HTTP_UNKWN;
  SendContextMsg;
  CloseConnection; { Закрыть соединение }
 end;
end; { конец CheckCommandMsg }


                                    - 44 -