Skip to main content
Skip table of contents

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

CODE
| 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,
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.