Skip to content

implement content negotiation with multiple renderers #25

@iay

Description

@iay

The current implementation of EntitiesController is wired up to a single MetadataService from which it queries for rendered metadata. Different presentations of this are made by the view, either queryAllResult or queryResult. This allows for limited content negotiation, for example to present a human-readable page if a browser makes the request, vs. SAML metadata otherwise.

However, this does not allow for content negotiation which would result in different renderings being performed, for example using either SAML or JSON formats depending on requested type.

One way to address this would be to change EntitiesController to be aware of multiple MetadataService instances and their resulting content types, and query an appropriate one depending on the requested MIME types.

It might be possible to just gather up all the MetadataService beans available in the context, allow each of them to specify their supported content types and potentially make them implement Ordered as well.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions