Parsed documentation:
View on GitHub
Dispatches the connection to the given endpoint.

When invoked via `get/3`, `post/3` and friends, the endpoint
is automatically retrieved from the `@endpoint` module
attribute, otherwise it must be given as an argument.

The connection will be configured with the given `method`,
`path_or_action` and `params_or_body`.

If `path_or_action` is a string, it is considered to be the
request path and stored as so in the connection. If an atom,
it is assumed to be an action and the connection is dispatched
to the given action.

## Parameters and body

This function, as well as `get/3`, `post/3` and friends, accepts the
request body or parameters as last argument:

      get(build_conn(), "/", some: "param")
      get(build_conn(), "/", "some=param&url=encoded")

The allowed values are:

  * `nil` - meaning there is no body

  * a binary - containing a request body. For such cases, `:headers`
    must be given as option with a content-type

  * a map or list - containing the parameters which will automatically
    set the content-type to multipart. The map or list may contain
    other lists or maps and all entries will be normalized to string

  * a struct - unlike other maps, a struct will be passed through as-is
    without normalizing its entries
Please help! Open an issue on GitHub if this assessment is incorrect.