Current section
Files
Jump to
Current section
Files
lib/docker_ex.ex
defmodule DockerEx do
@moduledoc """
Docker engine API SDK.
## Struct parameters
Some of the functions accept a struct as parameter. The struct
parameters are parsed to JSON and put as a request body. Other
parameters are encoded as query parameters.
The main reason for distinguishing request body parameters from query
parameters are default parameters. Both, request body and query can
have default parameters and if all are put to `opts` parameter it
would be complex to parse them out correctly.
## Path parameters validation
The library does NOT handle validation/encoding of path parameters.
Namely, IDs that can be represented as hash or proper names.
The reasoning is:
* if used locally, users already have access to the underlying
engine API.
* if the library is exposed by another service, the service
should take care of correct validation of user inputs (e.g.
that container id cannot be `json/all` for
`DockerEx.Containers.inspect_container/2` -- instead of inspecting
a container it would list all containers).
Note, query parameters are properly encoded according to [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986)
"""
end