Skip to content

Add content negotiation for shared hostname #8

@tylerhunt

Description

@tylerhunt

Summary

The dashboard and JSON API share the `bates.test` hostname. Currently they are separated by distinct pipeline routes (`/status` is API-only, `/` is browser-only). The spec calls for content negotiation so the same paths can serve both.

What needs to happen

  • Browser requests (`Accept: text/html`) get the dashboard/HTML responses
  • JSON requests (`Accept: application/json`) or explicit `.json` paths get the API
  • This would allow `GET bates.test/status` to return HTML in a browser and JSON for API clients

References

  • `specs/control-interface.md` — Content Negotiation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions