Moclojer Core

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.

Server

Responsável por inicializar a thread do Watcher e processar as requisições HTTP(S).

Watcher

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.

Core.clj

Responsável por converter as diversas especificações (ex. OpenAPI) na representação interna de definição de rota.

Moclojer SaaS

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.

Diagrama

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"

Link externo diagrama

API

API para interagir com os recursos SaaS, por exemplo:

Queue

Queue para processamento das requisições de atualização de mocks.

Handler