@@ -248,13 +248,28 @@ namespace nmos
248248
249249 size_t count = 0 ;
250250
251- set_reply (res, status_codes::OK,
252- web::json::serialize_array (resources
253- | boost::adaptors::filtered (match)
254- | boost::adaptors::transformed (
255- [&count](const nmos::resources::value_type& resource) { ++count; return nmos::make_annotation_response (resource); }
256- )),
257- web::http::details::mime_types::application_json);
251+ // experimental extension, to support human-readable HTML rendering of NMOS responses
252+ if (experimental::details::is_html_response_preferred (req, web::http::details::mime_types::application_json))
253+ {
254+ set_reply (res, status_codes::OK,
255+ web::json::serialize_array (resources
256+ | boost::adaptors::filtered (match)
257+ | boost::adaptors::transformed (
258+ [&count, &req](const nmos::resource& resource) { ++count; return experimental::details::make_html_response_a_tag (resource.id + U (" /" ), req); }
259+ )),
260+ web::http::details::mime_types::application_json);
261+ }
262+ else
263+ {
264+ set_reply (res, status_codes::OK,
265+ web::json::serialize_array (resources
266+ | boost::adaptors::filtered (match)
267+ | boost::adaptors::transformed (
268+ [&count](const nmos::resource& resource) { ++count; return value (resource.id + U (" /" )); }
269+ )
270+ ),
271+ web::http::details::mime_types::application_json);
272+ }
258273
259274 slog::log<slog::severities::info>(gate, SLOG_FLF) << " Returning " << count << " matching " << resourceType;
260275
0 commit comments