fed-sx-m1: Step 8d-content-type — content_type_for/1 + ok_response/2 + 13 tests
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
This commit is contained in:
@@ -11,7 +11,8 @@
|
||||
validation_failed_response/0,
|
||||
cid_response/1,
|
||||
accept_format/1, accept_format_from/1,
|
||||
capabilities_body_for/1]).
|
||||
capabilities_body_for/1,
|
||||
content_type_for/1, ok_response/2]).
|
||||
|
||||
%% HTTP request router per design §16.1.
|
||||
%%
|
||||
@@ -389,3 +390,36 @@ capabilities_body_for(cbor) ->
|
||||
102,101,100,45,115,120,45,109,49>>;
|
||||
capabilities_body_for(_) ->
|
||||
capabilities_body().
|
||||
|
||||
%% content_type_for/1 — MIME type binary for each format atom.
|
||||
%% "text/plain" — 10 bytes
|
||||
content_type_for(text) ->
|
||||
<<116,101,120,116,47,112,108,97,105,110>>;
|
||||
%% "application/json" — 16 bytes
|
||||
content_type_for(json) ->
|
||||
<<97,112,112,108,105,99,97,116,105,111,110,47,
|
||||
106,115,111,110>>;
|
||||
%% "application/activity+json" — 25 bytes
|
||||
content_type_for(activity_json) ->
|
||||
<<97,112,112,108,105,99,97,116,105,111,110,47,
|
||||
97,99,116,105,118,105,116,121,43,106,115,111,110>>;
|
||||
%% "application/sx" — 14 bytes
|
||||
content_type_for(sx) ->
|
||||
<<97,112,112,108,105,99,97,116,105,111,110,47,
|
||||
115,120>>;
|
||||
%% "application/cbor" — 16 bytes
|
||||
content_type_for(cbor) ->
|
||||
<<97,112,112,108,105,99,97,116,105,111,110,47,
|
||||
99,98,111,114>>;
|
||||
content_type_for(_) ->
|
||||
content_type_for(text).
|
||||
|
||||
%% ok_response/2 — 200 OK with a Content-Type header derived from
|
||||
%% the Format atom. The header key is lowercase to match how the
|
||||
%% BIF wrapper normalises request headers.
|
||||
%% "content-type" — 12 bytes
|
||||
ok_response(Body, Format) ->
|
||||
CTKey = <<99,111,110,116,101,110,116,45,116,121,112,101>>,
|
||||
[{status, 200},
|
||||
{headers, [{CTKey, content_type_for(Format)}]},
|
||||
{body, Body}].
|
||||
|
||||
Reference in New Issue
Block a user