Skip to content

Commit

Permalink
fixed merge conflict, use new user agent lib
Browse files Browse the repository at this point in the history
  • Loading branch information
karthik k authored and karthik k committed Nov 10, 2010
2 parents e72b078 + 210af15 commit ac532e8
Showing 1 changed file with 19 additions and 9 deletions.
28 changes: 19 additions & 9 deletions src/org/rathore/amit/webbing/helper.clj
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
(ns org.rathore.amit.webbing.helper
(:use org.rathore.amit.utils.clojure)
(:use org.rathore.amit.utils.logger))
(:use org.rathore.amit.utils.logger)
(:use clojure.contrib.math))

(import '(com.sun.grizzly.util.http Cookie)
'(org.apache.turbine.util BrowserDetector))
'(nl.bitwalker.useragentutils UserAgent))

(def *http-helper* :__init__)

Expand All @@ -12,13 +13,16 @@
kv (fn [c] {(.getName c) (.getValue c)})]
(apply merge (map kv cookies))))

(defn browser-version-num-from [user-agent]
(/ (mod (.getId (.getBrowser user-agent)) (expt 2 8)) 10.))

(defn browser-detector [request]
(let [user-agent (.getHeader request "user-agent")]
(if (seq user-agent)
(BrowserDetector. user-agent))))
(if-not (empty? user-agent)
(UserAgent/parseUserAgentString user-agent))))

(defn http-helper [request response]
(let [browser (browser-detector request)
(let [user-agent (browser-detector request)
cookies (cookie-hash request)
add-cookie (fn [name value age]
(let [cookie (Cookie. name value)]
Expand All @@ -34,9 +38,9 @@
:add-cookie (apply add-cookie args)
:read-cookie (apply read-cookie args)
:ip-address (first (.split (.getHeader request "x-forwarded-for") ","))
:browser-name (if browser (.getBrowserName browser))
:browser-version (if browser (.getBrowserVersion browser))
:operating-system (if browser (.getBrowserPlatform browser))
:browser-name (if user-agent (.getName (.getBrowser user-agent)))
:browser-version (if user-agent (browser-version-num-from user-agent))
:operating-system (if user-agent (.getName (.getOperatingSystem user-agent)))
(throw (Exception. (str "Response-helper: Unknown command, " command)))))))

(defn read-cookie [name] (*http-helper* :read-cookie name))
Expand All @@ -46,6 +50,12 @@
(defn browser-version [] (*http-helper* :browser-version))
(defn operating-system [] (*http-helper* :operating-system))

(defn requestor-details [] {
:browser-name (browser-name)
:browser-version (browser-version)
:operating-system (operating-system)
:ip-address (requester-ip)})

(defmacro defwebmethod [method-name params & exprs]
`(defn ~method-name [{:keys ~params}]
~@exprs))
~@exprs))

0 comments on commit ac532e8

Please sign in to comment.