Проблемы с получением параметров POST и GET http в appengine-magic 0.4.3 / Compojure 0.6.4 - PullRequest
0 голосов
/ 12 июля 2011

У меня серьезные проблемы с захватом параметров POST и GET в последних версиях appengine-magic / compojure.Параметры всегда отображаются как пустые, даже если объект запроса явно содержит нужные элементы.

Я видел некоторые вещи вокруг межплетений об изменении в протоколе Compojure, когда вам нужно вручную вставитьобертки.Я пробовал это (используя оболочку обработчика / API, чтобы избежать содержимого в обработчике / оболочке сайта, который нарушает GAE), но он все еще не работает.

Что я здесь не так делаю?

Мой файл project.clj:

(defproject pitch-filter "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.2.0"]
         [org.clojure/clojure-contrib "1.2.0"]
         [compojure "0.6.4"]
         [hiccup "0.3.6"]
         [jtidy "4aug2000r7-dev"]
         [commons-lang "2.5"]]
  :dev-dependencies [[appengine-magic "0.4.2"]
             [clj-http "0.1.1"]])

Мой файл core.clj:

(ns pitch-filter.core
  (:use compojure.core
    [appengine-magic.multipart-params :only [wrap-multipart-params]]
    [hiccup.middleware :only (wrap-base-url)])
  (:require [pitch-filter.fetch :as fetch]
        [compojure.route :as route]
        [compojure.handler :as handler]
        [appengine-magic.core :as ae]
        [appengine-magic.services.url-fetch :as url]


(defroutes pitch-filter-app-routes
  (GET "/" [] "Main Page")
  (GET "/form" []
    (str "<form method='post' action='/post'>"
         "<input type='text' name='test'>"
         "<input type='submit'>"
         "</form>"))
  (POST "/post" {params :params}
    (pr-str params))
  (route/not-found "Page not found"))


(def pitch-filter-app-handler
     (-> pitch-filter-app-routes
     (handler/api)
     (wrap-base-url)
     ))

(ae/def-appengine-app pitch-filter-app #'pitch-filter-app-handler)

Ответы [ 2 ]

0 голосов
/ 13 июля 2011

Похоже, что dev_appserver.sh перегружен App Engine 1.5.1.Жаль, но вы не должны использовать его с магией приложений.Вы должны использовать интерактивные инструменты REPL (например, ae / serve).Они отлично работают.

Я обновил билет, который вы открыли на странице проекта appengine-magic (https://github.com/gcv/appengine-magic/issues/28).

-gcv

0 голосов
/ 12 июля 2011

Оказывается, эта проблема возникает только при использовании Google App Engine 1.5.1 dev_appserver.sh.Работает нормально с 1.4.3.Я оставлю это открытым, если кто-то еще найдет лучшее решение.

...