Создание маршрута с Sinatra для приема только определенного типа содержимого

Я безуспешно пытаюсь создать маршрут с Sinatra, который принимает POST только с Content-type: application / json .

Мой подход заключается в следующем:

post '/dogs', :provides => :json do
  # returns here a json response
end

При тестировании с помощью curl я заметил, что : provides =>: json настраивает маршрут для ответа Content-Type: application / json .

Это верно, потому что я хочу также ответить сообщением JSON на запрос POST, но мне действительно нужно, чтобы этот маршрут отвечал только на запросы POST с помощью Content-Type: application / json , а не для например, другим (например, Content-Type: application / xml ).

Есть ли способ в Sinatra ограничить маршрут только для приема запросов с определенным Content-Type ?

7
задан Brock Adams 22 November 2011 в 11:38
поделиться