Current section

Files

Jump to
oaspec src oaspec@util@content_type.erl
Raw

src/oaspec@util@content_type.erl

-module(oaspec@util@content_type).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/oaspec/util/content_type.gleam").
-export([from_string/1, to_string/1, is_supported/1, is_supported_request/1, is_supported_response/1]).
-export_type([content_type/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-type content_type() :: application_json |
text_plain |
multipart_form_data |
{unsupported_content_type, binary()}.
-file("src/oaspec/util/content_type.gleam", 10).
?DOC(" Parse a content type string into a ContentType.\n").
-spec from_string(binary()) -> content_type().
from_string(Content_type) ->
case Content_type of
<<"application/json"/utf8>> ->
application_json;
<<"text/plain"/utf8>> ->
text_plain;
<<"multipart/form-data"/utf8>> ->
multipart_form_data;
Other ->
{unsupported_content_type, Other}
end.
-file("src/oaspec/util/content_type.gleam", 20).
?DOC(" Convert a ContentType back to its string representation.\n").
-spec to_string(content_type()) -> binary().
to_string(Content_type) ->
case Content_type of
application_json ->
<<"application/json"/utf8>>;
text_plain ->
<<"text/plain"/utf8>>;
multipart_form_data ->
<<"multipart/form-data"/utf8>>;
{unsupported_content_type, S} ->
S
end.
-file("src/oaspec/util/content_type.gleam", 30).
?DOC(" Check if a content type is supported anywhere in code generation.\n").
-spec is_supported(content_type()) -> boolean().
is_supported(Content_type) ->
case Content_type of
application_json ->
true;
text_plain ->
true;
multipart_form_data ->
true;
_ ->
false
end.
-file("src/oaspec/util/content_type.gleam", 40).
?DOC(" Check if a content type is supported for request bodies.\n").
-spec is_supported_request(content_type()) -> boolean().
is_supported_request(Content_type) ->
case Content_type of
application_json ->
true;
multipart_form_data ->
true;
_ ->
false
end.
-file("src/oaspec/util/content_type.gleam", 49).
?DOC(" Check if a content type is supported for responses.\n").
-spec is_supported_response(content_type()) -> boolean().
is_supported_response(Content_type) ->
case Content_type of
application_json ->
true;
text_plain ->
true;
_ ->
false
end.