1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- program nodehttpdemo;
- {$mode objfpc}
- uses
- nodejsapp, JS, Classes, SysUtils, nodeJS, node.http, node.net;
- type
- { TMyApplication }
- TMyApplication = class(TNodeJSApplication)
- procedure doRun; override;
- private
- procedure doRequest(req: TNJSHTTPIncomingMessage; resp: TNJSHTTPServerResponse);
- end;
- procedure TMyApplication.doRequest(req : TNJSHTTPIncomingMessage; resp : TNJSHTTPServerResponse);
- Var
- S : string;
- h : JSValue;
- begin
- resp.write('Hello World!'+sLineBreak);
- resp.write('You asked for: '+req.URL+sLineBreak);
- resp.write('You sent the following headers: '+sLineBreak);
- for s in TJSObject.getOwnPropertyNames(req.headers) do
- begin
- H:=req.headers[S];
- if jsTypeOf(H)='string' then
- resp.Write('Header "'+S+'": '+String(H)+sLineBreak);
- end;
- resp.end_(); //end the response
- end;
- procedure TMyApplication.doRun;
- begin
- http.createServer(@DoRequest).listen(7770);
- end;
- var
- Application : TMyApplication;
- begin
- Application:=TMyApplication.Create(nil);
- Application.Initialize;
- Application.Run;
- Application.Free;
- end.
|