Skip to content

Commit

Permalink
Update per AMWA-TV/is-13#21
Browse files Browse the repository at this point in the history
  • Loading branch information
garethsb committed May 23, 2023
1 parent 674bb36 commit b7c2e57
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 19 deletions.
2 changes: 1 addition & 1 deletion Development/cmake/NmosCppLibraries.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -700,7 +700,7 @@ set(NMOS_IS13_V1_0_SCHEMAS_JSON
third_party/is-13/${NMOS_IS13_V1_0_TAG}/APIs/schemas/error.json
third_party/is-13/${NMOS_IS13_V1_0_TAG}/APIs/schemas/resource_core.json
third_party/is-13/${NMOS_IS13_V1_0_TAG}/APIs/schemas/resource_core_patch.json
third_party/is-13/${NMOS_IS13_V1_0_TAG}/APIs/schemas/resource_cores.json
third_party/is-13/${NMOS_IS13_V1_0_TAG}/APIs/schemas/resource-list.json
)

set(NMOS_IS13_SCHEMAS_JSON_MATCH "third_party/is-13/([^/]+)/APIs/schemas/([^;]+)\\.json")
Expand Down
29 changes: 22 additions & 7 deletions Development/nmos/annotation_api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -248,13 +248,28 @@ namespace nmos

size_t count = 0;

set_reply(res, status_codes::OK,
web::json::serialize_array(resources
| boost::adaptors::filtered(match)
| boost::adaptors::transformed(
[&count](const nmos::resources::value_type& resource) { ++count; return nmos::make_annotation_response(resource); }
)),
web::http::details::mime_types::application_json);
// experimental extension, to support human-readable HTML rendering of NMOS responses
if (experimental::details::is_html_response_preferred(req, web::http::details::mime_types::application_json))
{
set_reply(res, status_codes::OK,
web::json::serialize_array(resources
| boost::adaptors::filtered(match)
| boost::adaptors::transformed(
[&count, &req](const nmos::resource& resource) { ++count; return experimental::details::make_html_response_a_tag(resource.id + U("/"), req); }
)),
web::http::details::mime_types::application_json);
}
else
{
set_reply(res, status_codes::OK,
web::json::serialize_array(resources
| boost::adaptors::filtered(match)
| boost::adaptors::transformed(
[&count](const nmos::resource& resource) { ++count; return value(resource.id + U("/")); }
)
),
web::http::details::mime_types::application_json);
}

slog::log<slog::severities::info>(gate, SLOG_FLF) << "Returning " << count << " matching " << resourceType;

Expand Down
2 changes: 1 addition & 1 deletion Development/nmos/is13_schemas/is13_schemas.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ namespace nmos
extern const char* error;
extern const char* resource_core;
extern const char* resource_core_patch;
extern const char* resource_cores;
extern const char* resource_list;
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"type": "array",
"description": "List of resource ID paths",
"title": "Resources base resource",
"items": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/$"
},
"uniqueItems": true
}

This file was deleted.

0 comments on commit b7c2e57

Please sign in to comment.