Este é um problema confuso, porque o valor do cabeçalho Accept
não é necessariamente uma única entrada, mas é uma lista de tipos de mídia, com valores de "qualidade", que precisam ser mapeados em relação ao recurso disponível representações para determinar qual tipo enviar de volta.
Existem may formas de hacking com if
declarações e regex correspondente no conteúdo do cabeçalho Accept
( "If is Evil" não obstante, mas para fazê-lo de forma robusta, você quase certamente vai acabar tendo que escrever um módulo personalizado para fazer a correspondência (provavelmente contra um mapa). Existe um módulo de AcceptLanguage de terceiros que pode conter algum código útil para começar.
Editar com base na pergunta atualizada
Se tudo o que você deseja fazer é redirecionar com base no tipo de conteúdo do corpo da solicitação, a vida é muito mais fácil. Eu configurei um mapa dos tipos de conteúdo para o back-end e usei esse mapa para traduzir o $http_content_type
variável no backend para enviar a solicitação para. Certifique-se de manusear (e testar!) Os casos "excepcionais", como "não enviou um tipo de conteúdo" e "enviou um tipo de conteúdo que não esperávamos".