Nota: Este projeto ainda não é para consumo geral.
Este programa fornece uma API de back -end muito mínima para um sistema de fornecimento de eventos.
Os principais recursos são:
O fluxo de eventos é um log somente de append de todas as alterações feitas nos dados estruturados do seu aplicativo. O cliente pode usar esse fluxo de eventos para criar uma projeção nos dados estruturados, basicamente o estado dos dados do seu aplicativo em um determinado momento.
As vantagens de armazenar os dados do seu aplicativo como um fluxo de eventos são:
O back -end pode ser compilado para um binário Linux estaticamente compilado que deve ser executado como um programa CGI na maioria dos provedores de hospedagem (no Linux). Isso exige que o gerenciador de pacotes NIX seja instalado (para construir um binário que usa MUSL em vez de glibc).
Certifique -se de que o servidor da web passe o cabeçalho Authorization (variável de ambiente HTTP_AUTHORIZATION ) para o script CGI. Para o Apache, você pode usar o cgi-bin/.htaccess fornecido.
O back -end também pode ser executado independente usando o servidor HTTP Warp. Observe, no entanto, que não é uma implementação eficiente: usamos bloqueios de arquivos como primitivos para sincronização.
O plano é criar um back-end eficiente do servidor de threading usando o STM.
curl -X PUT -H " Content-Type: application/json " --data @event.json http://localhost:8000/events
curl http://localhost:8000/events
curl http://localhost:8000/events ? from=0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb
curl http://localhost:8000/events ? to=0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb
curl http://localhost:8000/events/0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cbcurl -X PUT -H " Content-Type: application/pdf " -T ~ /Documents/test.pdf http://localhost:8000/storage/
curl -X GET http://localhost:8000/storage/0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb --output test.pdf
curl -X DELETE http://localhost:8000/storage/0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb