Changeset 376 for Network/CoolWeb/WebServer/UHTTPServerTCP.pas
- Timestamp:
- Jun 18, 2012, 10:42:17 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Network/CoolWeb/WebServer/UHTTPServerTCP.pas
r311 r376 51 51 52 52 Response := THTTPResponse.Create; 53 Response.Headers. Values['Server'] := Name;53 Response.Headers.Add('Server', Name); 54 54 Request := THTTPRequest.Create; 55 55 LineIndex := 0; … … 63 63 Request.Method := LineParts[0]; 64 64 if Pos('?', LineParts[1]) > 0 then begin 65 Request.Path := Copy(LineParts[1], 1, Pos('?', LineParts[1]) - 1);66 65 Request.Query.Parse(Copy(LineParts[1], Pos('?', LineParts[1]) + 1, Length(LineParts[1]))); 67 end else Request.Path := LineParts[1]; 66 Request.Path.Explode(Copy(LineParts[1], 1, Pos('?', LineParts[1]) - 1), '/', StrToStr); 67 end else begin 68 Request.Path.Explode(LineParts[1], '/', StrToStr); 69 Request.Query.Clear; 70 end; 68 71 end; 69 72 end else begin … … 71 74 if (LineParts.Count = 2) and (LineParts[0][Length(LineParts[0])] = ':') then begin 72 75 LineParts[0] := Copy(LineParts[0], 1, Length(LineParts[0]) - 1); 73 Request.Headers. Values[LineParts[0]] := LineParts[1];76 Request.Headers.Add(LineParts[0], LineParts[1]); 74 77 //WriteLn(Line); 75 78 end; … … 82 85 83 86 // Process cookies 84 if Request.Headers. IndexOfName('Cookie') <> -1 then87 if Request.Headers.SearchKey('Cookie') <> -1 then 85 88 Request.Cookies.Parse(Request.Headers.Values['Cookie']); 86 89 … … 90 93 91 94 Response.Content.Clear; 92 Response.Headers. Values['Content-Type'] := 'text/html';95 Response.Headers.Add('Content-Type', 'text/html'); 93 96 94 97 if Assigned(OnRequest) then OnRequest(HandlerData) … … 101 104 with Response do begin 102 105 SendString('HTTP/1.0 200 OK'#13#10); 103 Headers. Values['Content-Length'] := IntToStr(Content.Size);104 Headers. Values['Connection'] := 'close';105 Headers. Values['Date'] := RFC822DateTime(Now);106 Headers.Add('Content-Length', IntToStr(Content.Size)); 107 Headers.Add('Connection', 'close'); 108 Headers.Add('Date', RFC822DateTime(Now)); 106 109 107 110 // Handle cookies 108 111 for I := 0 to Cookies.Count - 1 do 109 Headers.Add('Set-Cookie' + Headers.NameValueSeparator +Cookies.Names[I] + '=' + Cookies.ValueFromIndex[I]);112 Headers.Add('Set-Cookie', Cookies.Names[I] + '=' + Cookies.ValueFromIndex[I]); 110 113 // + ';path=/;expires=' + RFC822DateTime(Now); 111 114 112 115 // Send headers 113 116 for I := 0 to Headers.Count - 1 do begin 114 //WriteLn(Headers.Names[I] + ': ' + Headers.ValueFromIndex[I]+ #13#10);115 SendString(Headers. Names[I] + ': ' + Headers.ValueFromIndex[I]+ #13#10);117 WriteLn(Headers.Keys[I] + ': ' + Headers.Items[I].Value + #13#10); 118 SendString(Headers.Keys[I] + ': ' + Headers.Items[I].Value + #13#10); 116 119 end; 117 120 SendString(#13#10);
Note:
See TracChangeset
for help on using the changeset viewer.