cowboy_swagger (cowboy_swagger v2.8.0)

View Source

cowboy-swagger main interface.

Summary

Functions

Returns the swagger json specification from given trails. This function basically takes the metadata from each t:trails:trail() (which must be compliant with Swagger specification) and builds the required swagger.json.

Returns the swagger json specification from given trails and server_spec`. This function takes the metadata from each `t:trails:trail() and combines it with the data stored in server_spec. If no data is stored in server_spec related to the listener use global_spec instead.

Types

metadata/0

-type metadata() :: trails:metadata(swagger_map()).

parameter_definition_name/0

-type parameter_definition_name() :: binary().

parameter_obj/0

-opaque parameter_obj()

parameters_definition_array/0

-type parameters_definition_array() ::
          #{parameter_definition_name() =>
                #{type => binary(), items => #{type => binary(), properties => property_obj()}}}.

parameters_definitions/0

-type parameters_definitions() ::
          #{parameter_definition_name() => #{type => binary(), properties => property_obj(), _ => _}}.

property_desc/0

-type property_desc() ::
          #{type => binary(), description => binary(), example => binary(), items => property_desc()}.

property_obj/0

-type property_obj() :: #{binary() => property_desc()}.

response_obj/0

-opaque response_obj()

responses_definitions/0

-type responses_definitions() :: #{binary() => response_obj()}.

swagger_map/0

-opaque swagger_map()

swagger_version/0

-type swagger_version() :: swagger_2_0 | openapi_3_0_0.

Functions

add_definition(Definition)

-spec add_definition(Definition :: parameters_definitions() | parameters_definition_array()) -> ok.

add_definition(Name, Properties)

-spec add_definition(Name :: parameter_definition_name(), Properties :: property_obj()) -> ok.

add_definition_array(Name, Properties)

-spec add_definition_array(Name :: parameter_definition_name(), Properties :: property_obj()) -> ok.

add_definition_array_to_server(Server, Name, Properties)

-spec add_definition_array_to_server(Server :: ranch:ref(),
                                     Name :: parameter_definition_name(),
                                     Properties :: property_obj()) ->
                                        ok.

add_definition_to_server(Server, Definition)

-spec add_definition_to_server(Server :: ranch:ref(),
                               Definition :: parameters_definitions() | parameters_definition_array()) ->
                                  ok.

add_definition_to_server(Server, Name, Properties)

-spec add_definition_to_server(Server :: ranch:ref(),
                               Name :: parameter_definition_name(),
                               Properties :: property_obj()) ->
                                  ok.

get_existing_definitions(CurrentSpec, Type)

-spec get_existing_definitions(CurrentSpec :: jsx:json_term(), Type :: atom() | binary()) ->
                                  Definition :: parameters_definitions() | parameters_definition_array().

get_existing_server_definitions(Server, CurrentSpec, Type)

-spec get_existing_server_definitions(Server :: ranch:ref(),
                                      CurrentSpec :: jsx:json_term(),
                                      Type :: atom() | binary()) ->
                                         Definition ::
                                             parameters_definitions() | parameters_definition_array().

get_global_spec()

-spec get_global_spec() -> jsx:json_term().

get_global_spec(Default)

-spec get_global_spec(jsx:json_term()) -> jsx:json_term().

get_server_spec()

-spec get_server_spec() -> #{ranch:ref() := jsx:json_term()}.

get_server_spec(Server)

-spec get_server_spec(ranch:ref()) -> jsx:json_term().

get_server_spec(Server, Default)

-spec get_server_spec(ranch:ref(), jsx:json_term()) -> jsx:json_term().

schema(DefinitionName)

-spec schema(DefinitionName :: parameter_definition_name()) -> #{<<_:32>> => <<_:64, _:_*8>>}.

server_schema(Server, DefinitionName)

-spec server_schema(Server :: ranch:ref(), DefinitionName :: parameter_definition_name()) ->
                       #{<<_:32>> => <<_:64, _:_*8>>}.

set_global_spec(NewSpec)

-spec set_global_spec(jsx:json_term()) -> ok.

set_server_spec(Server, NewSpec)

-spec set_server_spec(ranch:ref(), jsx:json_term()) -> ok.

to_json(Trails)

-spec to_json([trails:trail()]) -> jsx:json_text().

Returns the swagger json specification from given trails. This function basically takes the metadata from each t:trails:trail() (which must be compliant with Swagger specification) and builds the required swagger.json.

to_json(Server, Trails)

-spec to_json(ranch:ref(), [trails:trail()]) -> jsx:json_text().

Returns the swagger json specification from given trails and server_spec`. This function takes the metadata from each `t:trails:trail() and combines it with the data stored in server_spec. If no data is stored in server_spec related to the listener use global_spec instead.