# mutare_plug v0.1.0 - Table of Contents

> Mutare mutators for Plug

## Pages

- [Mutare Plug](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- Mutator front
  - [Mutare.Plug](Mutare.Plug.md): Custom [Mutare](https://hex.pm/packages/mutare) mutators for the Plug request surface —
the `Plug.Conn` calls a plug, router, or controller action performs on the conn.

- Mutator families
  - [Mutare.Plug.Body](Mutare.Plug.Body.md): `:resp_body` — blanks the response body: the body argument of `Plug.Conn.send_resp/3`
and `Plug.Conn.resp/3` becomes `""`. A surviving mutant means no test reads the
response body — the response was sent, with the right status, and nothing checked
what it said.
  - [Mutare.Plug.Cookie](Mutare.Plug.Cookie.md): `:resp_cookie` — removes response-cookie mutations, flips explicit `:same_site`
cookie policy values, and drops explicit `:max_age` options. A survivor means no test
depends on this code setting/deleting the response cookie, on the cookie's SameSite
policy, or on its persistence.
  - [Mutare.Plug.Halt](Mutare.Plug.Halt.md): `:plug_halt` — removes `Plug.Conn.halt/1`. A plug that fails to `halt` lets the request
flow on to the action it meant to block, so a surviving `:plug_halt` mutant means no test
depends on this plug halting.
  - [Mutare.Plug.Header](Mutare.Plug.Header.md): `:resp_header` — removes explicit response-header mutations. A surviving mutant means no
test depends on this code setting or deleting that response header.
  - [Mutare.Plug.Session](Mutare.Plug.Session.md): `:plug_session` — removes `Plug.Conn` session mutations. A surviving mutant means no test
depends on this code writing, deleting, clearing, or reconfiguring session state.
  - [Mutare.Plug.Status](Mutare.Plug.Status.md): `:http_status` — swaps the atom status of `Plug.Conn.put_status/2`, `send_resp/3`,
`resp/3`, `send_chunked/2`, and `send_file/3,4,5` for a plausible sibling in the same
status family. A surviving mutant means no test pins the exact status code.

