Packages

The Elixir package to render Redoc UI from OpenAPI specification.

Current section

Files

Jump to
redoc_ui_plug lib plug render_spec.ex
Raw

lib/plug/render_spec.ex

defmodule Redoc.Plug.RenderSpec do
@moduledoc """
Render openapi spec with add code example on each api. This plug is highly inspired
by `OpenApiSpex.Plug.RenderSpec`.
"""
@behaviour Plug
import Plug.Conn
alias OpenApiSpex.Plug.PutApiSpec
@impl true
def init(opts) do
opts
end
@impl true
def call(conn, _opts) do
{spec, _} = PutApiSpec.get_spec_and_operation_lookup(conn)
conn
|> put_resp_content_type("application/json")
|> send_resp(200, Jason.encode!(spec))
end
end