Разрешение POST для статических файлов в CouchDB CouchApp - PullRequest
1 голос
/ 12 мая 2011

При обслуживании статических ресурсов из CouchApp (например, HTML и JS для приложения Backbone.js) ошибка 405 Method Not Allowed соответствующим образом выдается, когда эти статические страницы размещены на POST.Однако при разработке приложения Facebook для canvas / iframe Facebook отправляет все запросы в виде POST.Есть ли способ заставить Couch разрешить метод POST?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2011

Я столкнулся с той же проблемой, и до сих пор мне удалось избежать другого хостера, просто позволив CouchDB вывести javascript, который перенаправляет мой запрос (так в основном это клиентский браузер).

Как прокомментировал @JasonSmith, _showфункции могут получать методы POST;поэтому я в основном создал новую функцию _show с именем show / proxy.js, которая (в большинстве своих основных функций) включает в себя только это:

function(doc, req) {
   return "<script>document.location='TARGETURL';</script>";    
}

Замените TARGETURL вашей реальной страницей URL Canvas.Затем я настраиваю URL-адрес FB Canvas, чтобы он указывал на эту страницу,

http://fbdemo.iriscouch.com/fbdemo/_design/fbdemo/_show/proxy?

. Это прекрасно работает в FB Canvas и, наконец, показывает мой CouchApp!Следующим шагом будет передача параметров QueryString из FB (в зависимости от имени входа, графика и т. Д.), Но я оставлю это в качестве упражнения нашим читателям; -)

Надеюсь, это поможет!

0 голосов
/ 17 мая 2011

Я пессимистично настроен по этому поводу.Я не уверен, но это может быть невозможно.

Можно ли сказать Facebook добавить пользовательские заголовки?Couch поддерживает заголовок X-HTTP-Method-Override в запросах POST.Просто установите тот метод HTTP, который вам действительно нужен.

...