PlugCowboy
A Plug Adapter for the Erlang Cowboy web server.
Installation
You can use plug_cowboy in your project by adding the dependency:
def deps do
[
{:plug_cowboy, "~> 1.0"},
]
end
You can then start the application with:
Plug.Cowboy.Adapter.http MyPlug, []
Supervised handlers
The Plug.Cowboy.Adapter
module can be started as part of a supervision tree
like so:
defmodule MyApp do
# See https://hexdocs.pm/elixir/Application.html
# for more information on OTP Applications
@moduledoc false
use Application
def start(_type, _args) do
# List all child processes to be supervised
children = [
Plug.Cowboy.Adapters.child_spec(scheme: :http, plug: MyRouter, options: [port: 4001])
]
# See https://hexdocs.pm/elixir/Supervisor.html
# for other strategies and supported options
opts = [strategy: :one_for_one, name: MyApp.Supervisor]
Supervisor.start_link(children, opts)
end
end
Contributing
We welcome everyone to contribute to PlugCowboy and help us tackle existing issues!
Use the issue tracker for bug reports or feature requests. You may also start a discussion on the mailing list or the #elixir-lang channel on Freenode IRC. Open a pull request when you are ready to contribute.
When submitting a pull request you should not update the CHANGELOG.md
.
If you are planning to contribute documentation, please check our best practices for writing documentation.
Finally, remember all interactions in our official spaces follow our Code of Conduct.
License
PlugCowboy source code is released under Apache 2 License. Check LICENSE file for more information.