Ir para o conteúdo

Olá mundo!

Independente da IDE que estiver utilizando, crie um projeto do tipo Console Application e salve o projeto com o nome que você quiser. Após salvar o projeto, siga o guia de instalação para instalar o Horse na sua aplicação. Após criar o seu projeto e instalar o Horse, inclua o seguinte código em sua aplicação:

uses 
  System.SysUtils, 
  Horse;

const
    HORSE_PORT = 9000;

begin
  THorse.Get('/',
    procedure(Req: THorseRequest; Res: THorseResponse; Next: TProc)
    begin
      Res.Send('Olá, mundo!');
    end);

  THorse.Listen(HORSE_PORT,
    procedure(Horse: THorse)
    begin
      Writeln(Format('O servidor está rodando em %s:%d', [Horse.Host, Horse.Port]));
    end);
end.
{$MODE DELPHI}{$H+}

uses
  SysUtils,
  Horse;

const
  HORSE_PORT = 9000;

procedure GetHelloWorld(Req: THorseRequest; Res: THorseResponse; Next: TNextProc);
begin
  Res.Send('Ola Mundo!');
end;

procedure HorseListenCallback(Horse: THorse);
begin
  Writeln(Format('O servidor esta rodando em %s:%d', [Horse.Host, Horse.Port]));
end;

begin
  THorse.Get('/', GetHelloWorld);
  THorse.Listen(HORSE_PORT, HorseListenCallback);
end. 

A aplicação irá iniciar um servidor escutando na porta 9000.

Agora, compile e rode a aplicação. Você verá no console a seguinte mensagem: Servidor rodando em 0.0.0.0:9000

A Aplicação irá responder com a mensagem "Olá Mundo" na rota (/) para o cliente que fizer a requisição. Para qualquer outra rota, ela irá responder com uma mensagem "Not Found" e status code 404 (Não encontrado)

Então abra o browser, digite http://localhost:9000/ para acessar a sua primeira rota.

Simplificando

Caso não tenha necessidade de printar alguma mensagem no console, ou então não quer alterar a porta padrão utilizada pelo Horse, pode simplificar ainda mais o código, deixando da seguinte forma:

uses Horse;

begin
  THorse.Get('/',
    procedure(Req: THorseRequest; Res: THorseResponse; Next: TProc)
    begin
      Res.Send('Olá, mundo!');
    end);

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

uses Horse;

procedure GetHelloWorld(Req: THorseRequest; Res: THorseResponse; Next: TNextProc);
begin
  Res.Send('Ola Mundo!');
end;

begin
  THorse.Get('/', GetHelloWorld);
  THorse.Listen;
end. 

Pronto! Agora você está hápto para trabalhar com o Horse...