Versão padrão do Moclojer, que oferece um Mock Server para uma API definida em um arquivo YAML. Esta versão utiliza alguns componentes descritos abaixo.
Responsável por inicializar a thread do Watcher e processar as requisições HTTP(S).
Responsável por ouvir alterações do config.yml e chamar a função do core.clj pra obter as definições de rota.
Também é responsável por adicionar as rotas no Server.
Responsável por converter as diversas especificações (ex. OpenAPI) na representação interna de definição de rota.
Oferece um Mock Server que pode responder as requisições das APIs definidas por vários usuários e organizações. Esta versão utiliza alguns componentes descritos abaixo.
sequenceDiagram
User->>+API: POST api.moclojer.com/mocks
API->>+Queue: Enqueue mock
Queue-->>-API: 2xx OK
API-->>-User: 2xx OK
Queue->>+Handler: Dequeues message
Handler->>+ObjectStore: Stores moclojer.yml
ObjectStore->>-Handler: 2xx OK
Handler->>+Moclojer: Extracts routes
Moclojer->>-Handler: Route definitions
Handler->>+Cache: Stores route definitions
Note over Handler,Cache: Route definitions are hashed<br/>e.g. GET subdomain.moclojer.com/docs/123<br/>turns into "subdomain,GET,/docs/REGEX"
Cache->>-Handler: 2xx OK
Handler->>-Queue: Deletes message
User->>+MockServer: GET subdomain.moclojer.com/docs/123
MockServer->>+Cache: Reads route definitions for subdomain
Cache->>-MockServer: 2xx OK
MockServer->>-User: 2xx OK"
API para interagir com os recursos SaaS, por exemplo:
moclojer.yml para a Queue.Queue para processamento das requisições de atualização de mocks.