Packages
open_api_spex
3.22.1
3.22.3
3.22.2
3.22.1
3.22.0
3.21.5
3.21.4
3.21.3
3.21.2
3.21.1
3.21.0
3.20.1
3.20.0
3.19.1
3.19.0
3.18.3
3.18.2
3.18.1
3.18.0
3.17.3
3.17.2
3.17.1
3.17.0
3.16.4
3.16.3
3.16.2
3.16.1
3.16.0
3.15.0
3.14.0
3.13.0
3.12.0
3.11.0
3.10.0
3.9.0
3.8.0
3.7.0
3.6.0
3.5.2
3.5.1
3.5.0
3.4.0
3.3.0
3.2.1
3.2.0
3.1.0
3.0.0
2.3.1
2.3.0
2.2.0
2.1.1
2.1.0
2.0.0
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
Leverage Open Api Specification 3 (swagger) to document, test, validate and explore your Plug and Phoenix APIs.
Current section
Files
Jump to
Current section
Files
lib/open_api_spex/server.ex
defmodule OpenApiSpex.Server do
@moduledoc """
Defines the `OpenApiSpex.Server.t` type.
"""
alias OpenApiSpex.{Server, ServerVariable}
@enforce_keys :url
defstruct [
:url,
:description,
:extensions,
variables: %{}
]
@typedoc """
[Server Object](https://swagger.io/specification/#serverObject)
An object representing a Server.
"""
@type t :: %Server{
url: String.t(),
description: String.t() | nil,
variables: %{String.t() => ServerVariable.t()},
extensions: %{String.t() => any()} | nil
}
@doc """
Builds a Server from a phoenix Endpoint module
"""
@deprecated "Use from_endpoint/1 instead"
@spec from_endpoint(module, ignored :: any()) :: t
def from_endpoint(endpoint, _opts) do
from_endpoint(endpoint)
end
@doc """
Builds a Server from a phoenix Endpoint module
"""
@spec from_endpoint(module) :: t
def from_endpoint(endpoint) do
uri = endpoint.struct_url()
path = endpoint.path("") || "/"
uri = %{uri | path: path}
%Server{
url: URI.to_string(uri)
}
end
end