ВУЗ:
Составители:
Рубрика:
- 47 -
CloseConnection; { Закрыть соединение }
end;
end; { конец SendFullObject }
При отправлении клиентом команды POST или другой не поддерживае-
мой сервером команды необходимо ответить соответствующим сообщением
для информирования клиента об этом; для этого служит процедура SendCon-
textMsg:
procedure TWbServe.SendContextMsg;
begin
{ Какую команду отправил клинт ? }
case iiHTTPStatus of
HTTP_NOOP: ; { HOOP, GET и HEAD - ничего делать не надо, команды поддер-
живаются сервером }
HTTP_GET : ;
HTTP_HEAD : ;
{ POST и неизвестная команда - отправить ответы 401 и 400 соответственно }
HTTP_POST: SendFullMsgfisConnectionSocket, 401, HTTP_NOOP,
UWM_SOCKETEVENT, '') ;
HTTP_UNKWN: SendFullMsg(isConnectionSocket, 400, HTTP_NOOP,
UWM_SOCKETEVENT, '') ;
end;
end; { конец SendContextMsg }
Прежде проверки наличия и возможности открытия любых запрашивае-
мых файлов необходимо единообразным образом преобразовать их имена,
заменяя прямые слеши ‘/’ на обратные ‘\’ (предлагаемая процедура Convert-
FileNameToDos упрощена и не обрабатывает ‘длинные’ имена):
procedure TWbServe.ConvertFileNameToDos;
var liSlashPos: Integer;
begin
liSlashPos :=Pos(‘/’, isFileName); { Найти первый символ ‘/’ }
{ Выполнять цикл столько раз, сколько имеется символов ‘/’ }
while (liSlashPos > 0) do
begin
{ Скопировать имя файла, заменяя символ ‘/’ символом ‘\’ }
isFileName := Copy(isFileName, 1, (liSlashPos - 1)) + ‘\’ + Copy(isFileName,
(liSlashPos + 1), Length(isFileName));
liSlashPos := Pos(‘/’, isFileName);
end;
end; { конец ConvertFileNameToDos }
CloseConnection; { Закрыть соединение }
end;
end; { конец SendFullObject }
При отправлении клиентом команды POST или другой не поддерживае-
мой сервером команды необходимо ответить соответствующим сообщением
для информирования клиента об этом; для этого служит процедура SendCon-
textMsg:
procedure TWbServe.SendContextMsg;
begin
{ Какую команду отправил клинт ? }
case iiHTTPStatus of
HTTP_NOOP: ; { HOOP, GET и HEAD - ничего делать не надо, команды поддер-
живаются сервером }
HTTP_GET : ;
HTTP_HEAD : ;
{ POST и неизвестная команда - отправить ответы 401 и 400 соответственно }
HTTP_POST: SendFullMsgfisConnectionSocket, 401, HTTP_NOOP,
UWM_SOCKETEVENT, '') ;
HTTP_UNKWN: SendFullMsg(isConnectionSocket, 400, HTTP_NOOP,
UWM_SOCKETEVENT, '') ;
end;
end; { конец SendContextMsg }
Прежде проверки наличия и возможности открытия любых запрашивае-
мых файлов необходимо единообразным образом преобразовать их имена,
заменяя прямые слеши ‘/’ на обратные ‘\’ (предлагаемая процедура Convert-
FileNameToDos упрощена и не обрабатывает ‘длинные’ имена):
procedure TWbServe.ConvertFileNameToDos;
var liSlashPos: Integer;
begin
liSlashPos :=Pos(‘/’, isFileName); { Найти первый символ ‘/’ }
{ Выполнять цикл столько раз, сколько имеется символов ‘/’ }
while (liSlashPos > 0) do
begin
{ Скопировать имя файла, заменяя символ ‘/’ символом ‘\’ }
isFileName := Copy(isFileName, 1, (liSlashPos - 1)) + ‘\’ + Copy(isFileName,
(liSlashPos + 1), Length(isFileName));
liSlashPos := Pos(‘/’, isFileName);
end;
end; { конец ConvertFileNameToDos }
- 47 -
Страницы
- « первая
- ‹ предыдущая
- …
- 45
- 46
- 47
- 48
- 49
- …
- следующая ›
- последняя »
