Skip to content
This repository has been archived by the owner on Dec 26, 2020. It is now read-only.

Commit

Permalink
Storing logs of every request
Browse files Browse the repository at this point in the history
  • Loading branch information
swaroopch committed May 19, 2012
1 parent 720ba52 commit 8dd8136
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 6 deletions.
7 changes: 7 additions & 0 deletions src/isbnnetinclj/models/mongodb.clj
@@ -0,0 +1,7 @@
(ns isbnnetinclj.models.mongodb
[:require [monger.core :as mg]
[monger.joda-time]])

(defn init-db
[]
(mg/connect-via-uri! (System/getenv "MONGOHQ_URL")))
17 changes: 17 additions & 0 deletions src/isbnnetinclj/models/requestlog.clj
@@ -0,0 +1,17 @@
(ns isbnnetinclj.models.requestlog
[:require [isbnnetinclj.models.mongodb]
[monger.collection :as mc]])

(defn add-details
[request]
(assoc request :isbn (.substring (:uri request) 1)))

(def REQUEST_LOG "requestlog")

(defn add-log
[request]
(mc/insert REQUEST_LOG (add-details request)))

(defn get-logs
[]
(keep :isbn (mc/find-maps REQUEST_LOG)))
16 changes: 10 additions & 6 deletions src/isbnnetinclj/server.clj
@@ -1,16 +1,20 @@
(ns isbnnetinclj.server
(:gen-class)
(:use noir.core)
(:require [noir.server :as server]))
(:require [noir.server]
[noir.request]
[isbnnetinclj.models.requestlog :as requestlog]))

(server/load-views "src/isbnnetinclj/views/")
(noir.server/load-views "src/isbnnetinclj/views/")

(defpage "/:isbn"
(defpage isbn-page "/:isbn"
{:keys [isbn]}
(str "ISBN:" isbn))
(requestlog/add-log (dissoc (noir.request/ring-request) :body))
(str (noir.request/ring-request)))

(defn -main [& m]
(let [mode (keyword (or (first m) :dev))
port (Integer. (get (System/getenv) "PORT" "8080"))]
(server/start port {:mode mode
(mongodb/init-db)
(noir.server/start port {:mode mode
:ns 'isbnnetinclj})))

0 comments on commit 8dd8136

Please sign in to comment.