Skip to content

Octet Stream

O Octet Stream é um middleware para você trabalhar com Stream em suas APIs.

⚙️ Instalação

Você pode instalar facilmente utilizando o comando boss install:

boss install horse-octet-stream

Ou, se você preferir instalar manualmente, basta adicionar as pastas em seu projeto, em Project > Options > Resource Compiler > Directories and Conditionals > Include file search path:

../horse-octet-stream/src

✔️ Compatibilidade

Delphi Lazarus
  ✔️    ✔️

🤙 Exemplos de Uso

uses
  Horse,
  Horse.OctetStream, //Esta unit é necessária
  System.Classes,
  System.SysUtils;

begin
  // Necessário para adicionar o Middleware no Horse:
  THorse.Use(OctetStream);

  THorse.Get('/stream',
    procedure(Req: THorseRequest; Res: THorseResponse; Next: TProc)
    var
      LStream: TFileStream;
    begin
      // Agora você pode enviar seu stream:
      LStream := TFileStream.Create(ExtractFilePath(ParamStr(0)) + 'horse.pdf', fmOpenRead);
      Res.Send<TStream>(LStream);
    end);

  THorse.Listen(9000);
end;
{$MODE DELPHI}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Horse,
  Horse.OctetStream, //Esta unit é necessária
  SysUtils,
  Classes;

procedure GetStream(Req: THorseRequest; Res: THorseResponse; Next: TNextProc);
var
  LStream: TFileStream;
begin
  // Agora você pode enviar seu stream:
  LStream := TFileStream.Create(ExtractFilePath(ParamStr(0)) + 'horse.pdf', fmOpenRead);
  Res.Send<TStream>(LStream);
end;

begin
  // Necessário para adicionar o Middleware no Horse:
  THorse.Use(OctetStream);

  THorse.Get('/stream', GetStream);

  THorse.Listen(9000);

end.

⚠️ Avisos