TbeCbHttpServer
TbeCbHttpServer
Diese Klasse ist eine Komponente, die keine Oberfläche hat. Sie dient dazu auf die HTTP Anfragenden Kunden-Inhalte zu liefern, wie z.B. Bilder, Dokumente, formatierte Informationen (HTML) aus dem be-Datenbestand.
Eigenschaften
Eigenschaften | Beschreibung |
---|---|
OnCbRequest | Ereignis zur Vorbereitung der Antwort auf HTTP Anfrage |
CbPort | Port Nummer auf die der Server auf die Anfragen wartet |
CbActive | Aktivieren den Server, default: false |
Eigenschaften des Sender Objekt von OnCbRequest Eregniss
siehe. TbeHTTPRequestData
- TbeCbHttpServer auf eine F12-Maske platzieren, wenn möglich Eigenschaft CbPort und Ereignis OnCbRequest setzen
- Im Quell-Code, wenn den Zeit kommt, CbActive auf True setzen
- Im F12-Designer befindet sich die Komponente unter der Palette "Allgemein"
Beispiel
| oForm, beCbHTTPServer |
//******************************************************************************
function beCbHTTPServerCbRequest( Sender )
| oMemoData |
if Sender.CbAddress == '/' then
Sender.CbResponseString := '<h3>Hallo</h3>' +
'<p>Data: <a href="data">download</a></p>' +
'<br>' +
'<img src="file">',
Sender.CbResponseContentType := 'text/html',
else
if Sender.CbAddress = '/favicon.ico' then
Sender.CbProcessed := false, // default ico
else
if Sender.CbAddress = '/data' then
oMemoData := DBOpen(waDab065),
Sender.LoadResponseFromField(oMemoData, 'MEMO'),
DestroyObject(oMemoData),
else
if Sender.CbAddress = '/file' then
Sender.LoadResponseFromFile('C:\irgendwelche\bild.jpg'),
Sender.CbResponseContentType := 'text/jpeg',
else
if Sender.CbAddress = '/default' then
// nichts
else
if Sender.CbAddress = '/move' then
Sender.SetCbResponseHeader('Location', '/'),
Sender.CbResponseString := 'Temporär verschoben auf <a href="/">Root</a>',
Sender.CbResponseContentType := 'text/html',
Sender.CbResponseCode := 302, // redirect - permanent
else
Sender.CbResponseString := 'Nicht gefunden ' + Sender.CbAddress,
Sender.CbResponseContentType := 'text/plain',
Sender.CbResponseCode := 404, // not found
endif
endif,
endif,
endif,
endif,
endif
end,
startseq
oForm := CreateObject('TFormEx', 'HttpServerForm', Application),
beCbHTTPServer := CreateObject('TbeCbHTTPServer', 'HTTPServer', oForm),
AssignEvent(beCbHTTPServer, 'OnCbRequest', 'beCbHTTPServerCbRequest'),
beCbHTTPServer.CbPort := 1234,
beCbHTTPServer.CbActive := true,
// jetzt warte auf die Anfrage
ShowModal(oForm),
always
DestroyObject(oForm),
stopseq,