Skip to content

global_spec must be server-bound #205

@elbrujohalcon

Description

@elbrujohalcon

I have two cowboy servers running different REST APIs in my Erlang VM.
To split their swagger pages I do…

        trails:trail(
            "/audit/rest/api-docs/swagger.json",
            cowboy_swagger_json_handler,
            #{server => server_one},
            #{get => #{hidden => true}}
        ),
…
        trails:store(server_one, Trails),

…in one, and…

        trails:trail(
            "/audit/rest/api-docs/swagger.json",
            cowboy_swagger_json_handler,
            #{server => server_two},
            #{get => #{hidden => true}}
        ),
…
        trails:store(server_two, Trails),

…in the other.
That works perfectly fine except for the global specs, because if I do…

cowboy_swagger:set_global_spec(TheSpec)

…or even if I use add_definition/1 directly, they end up both with the same tags and definitions and… well… basically the same spec, which (in my case) is incorrect.

I would like to have independent (per-server) specs, so that each one can have their own.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions