hefestoapicontainer

Groups

Los endpoints contienen directivas, que se ejecutan en un flujo que puede ser alterado usando groups.

Grupos personalizados

Puedes crear grupos específicos y activarlos/desactivarlos desde el estado:

$state->groups()->enable('CUSTOM_NAME');
$state->groups()->disable('ANOTHER_NAME');
$state->groups()->disableAll();

Ejemplo real con el grupo DIGESTION_REQUEST_FLOW. La directiva SetGridFlow determina en tiempo de ejecución si se debe activar la digestión:

post /grid:
  SetGridFlow:
    directive: SetGridFlow
  CalculateGrid:
    directive: CalculateGrid
    groups:
      - NORMAL_FLOW
      - DIGESTION_REQUEST_FLOW
  Connect:
    directive: DatabaseConnect
    groups:
      - DIGESTION_REQUEST_FLOW
  SaveGrid:
    directive: SaveGrid
    groups:
      - DIGESTION_REQUEST_FLOW
  PrepareResponse:
    directive: ModifyMessage
    body: $.memory.response
    groups:
      - NORMAL_FLOW

En este caso, CalculateGrid se ejecuta siempre (está en NORMAL_FLOW y DIGESTION_REQUEST_FLOW). Connect y SaveGrid solo se ejecutan si SetGridFlow ha activado el grupo DIGESTION_REQUEST_FLOW.