Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement content negotiation with multiple renderers #25

Open
iay opened this issue Mar 6, 2015 · 1 comment
Open

implement content negotiation with multiple renderers #25

iay opened this issue Mar 6, 2015 · 1 comment
Assignees

Comments

@iay
Copy link
Owner

iay commented Mar 6, 2015

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.

@iay iay added the enhancement label Mar 6, 2015
@iay iay self-assigned this Mar 6, 2015
@iay
Copy link
Owner Author

iay commented Mar 6, 2015

Having multiple MetadataService beans accessing the same ItemCollectionLibrary would also require fixing #18, so that refresh isn't dependent on one and only one MetadataService running a timer.

[Note: #18 is now fixed.]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant