<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Introduction to Clojure Web Development using Ring, Compojure and Sandbar</title>
	<atom:link href="http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/feed/" rel="self" type="application/rss+xml" />
	<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/</link>
	<description>Raw information. No finesse :)</description>
	<lastBuildDate>Tue, 28 May 2013 06:47:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Mark</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-260</link>
		<dc:creator><![CDATA[Mark]]></dc:creator>
		<pubDate>Wed, 19 Oct 2011 04:50:08 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-260</guid>
		<description><![CDATA[Siva, great post! 

When I run &quot;lein run address_book.core start&quot;, lein reports the following error.

Exception in thread &quot;main&quot; java.lang.NoSuchMethodError: clojure.lang.RestFn.(I)V (params.clj:1)
        at clojure.lang.Compiler.eval(Compiler.java:5440)
        at clojure.lang.Compiler.eval(Compiler.java:5415)

Stack trimmed. Any thoughts on this error?

Thanks!]]></description>
		<content:encoded><![CDATA[<p>Siva, great post! </p>
<p>When I run &#8220;lein run address_book.core start&#8221;, lein reports the following error.</p>
<p>Exception in thread &#8220;main&#8221; java.lang.NoSuchMethodError: clojure.lang.RestFn.(I)V (params.clj:1)<br />
        at clojure.lang.Compiler.eval(Compiler.java:5440)<br />
        at clojure.lang.Compiler.eval(Compiler.java:5415)</p>
<p>Stack trimmed. Any thoughts on this error?</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: abimaran</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-258</link>
		<dc:creator><![CDATA[abimaran]]></dc:creator>
		<pubDate>Tue, 13 Sep 2011 09:52:24 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-258</guid>
		<description><![CDATA[That&#039;s a valuable, help! Thanks Simon Brooke....]]></description>
		<content:encoded><![CDATA[<p>That&#8217;s a valuable, help! Thanks Simon Brooke&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Siva Jagadeesan</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-257</link>
		<dc:creator><![CDATA[Siva Jagadeesan]]></dc:creator>
		<pubDate>Fri, 19 Aug 2011 21:56:06 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-257</guid>
		<description><![CDATA[In src/address_book/core.clj there is a start function. You can call that in a repl to start the server.]]></description>
		<content:encoded><![CDATA[<p>In src/address_book/core.clj there is a start function. You can call that in a repl to start the server.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jvandal (@jvandal)</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-256</link>
		<dc:creator><![CDATA[jvandal (@jvandal)]]></dc:creator>
		<pubDate>Sun, 14 Aug 2011 22:50:25 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-256</guid>
		<description><![CDATA[I try to run &quot;http://localhost:8080&quot;   and I get an error. I run Vista OS What makes the server active?
Thanks]]></description>
		<content:encoded><![CDATA[<p>I try to run &#8220;http://localhost:8080&#8243;   and I get an error. I run Vista OS What makes the server active?<br />
Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Siva Jagadeesan</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-253</link>
		<dc:creator><![CDATA[Siva Jagadeesan]]></dc:creator>
		<pubDate>Fri, 01 Jul 2011 22:10:20 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-253</guid>
		<description><![CDATA[Thanks a lot Simon ...]]></description>
		<content:encoded><![CDATA[<p>Thanks a lot Simon &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Brooke</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-252</link>
		<dc:creator><![CDATA[Simon Brooke]]></dc:creator>
		<pubDate>Tue, 28 Jun 2011 12:32:01 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-252</guid>
		<description><![CDATA[OK, the problem is, there is no &#039;edit-address-form&#039; so that the anonymous function defined at line 48 of address_list.js never gets called. If in both address_book.js and address_list.js, you replace all instances of &#039;edit-address-form&#039; with &#039;address-form&#039;, the address to be edited gets loaded into the form on RHS of the index.html page. However, when the address is edited and the &#039;create&#039; button pressed, although the log shows &#039;Processing :put /addresses/1&#039;, the address does not get updated.

Still investigating.]]></description>
		<content:encoded><![CDATA[<p>OK, the problem is, there is no &#8216;edit-address-form&#8217; so that the anonymous function defined at line 48 of address_list.js never gets called. If in both address_book.js and address_list.js, you replace all instances of &#8216;edit-address-form&#8217; with &#8216;address-form&#8217;, the address to be edited gets loaded into the form on RHS of the index.html page. However, when the address is edited and the &#8216;create&#8217; button pressed, although the log shows &#8216;Processing :put /addresses/1&#8242;, the address does not get updated.</p>
<p>Still investigating.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Brooke</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-251</link>
		<dc:creator><![CDATA[Simon Brooke]]></dc:creator>
		<pubDate>Tue, 28 Jun 2011 11:41:39 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-251</guid>
		<description><![CDATA[Two more minor things: the tutorial security-policy allows access to &#039;addresses&#039; but not to &#039;addresses.*&#039;; consequently an attempt to edit an address results in &#039;Processing :get /permission-denied&#039; appearing in the log (no error shown to the user). 

When that change is made, an attempt to edit an address results in &#039;Processing :get /addresses/1&#039; appearing in the log but no change appears on the screen - the address is /not/ loaded into the form. However as browsing to &#039;http://localhost:8080/addresses/1&#039; results in 

&#039;{&quot;id&quot;:&quot;1&quot;,&quot;name&quot;:&quot;Siva Jagadeesan&quot;,&quot;street1&quot;:&quot;88 7th&quot;,&quot;street2&quot;:&quot;#203&quot;,&quot;city&quot;:&quot;Cupertino&quot;,&quot;country&quot;:&quot;USA&quot;,&quot;zipsourcecode&quot;:98802}&#039;

appearing in the browser, I suspect this is an issue either of templating or JavaScript rather than of authentication.

Still investigating, will post a fix when I find it.]]></description>
		<content:encoded><![CDATA[<p>Two more minor things: the tutorial security-policy allows access to &#8216;addresses&#8217; but not to &#8216;addresses.*&#8217;; consequently an attempt to edit an address results in &#8216;Processing :get /permission-denied&#8217; appearing in the log (no error shown to the user). </p>
<p>When that change is made, an attempt to edit an address results in &#8216;Processing :get /addresses/1&#8242; appearing in the log but no change appears on the screen &#8211; the address is /not/ loaded into the form. However as browsing to &#8216;http://localhost:8080/addresses/1&#8242; results in </p>
<p>&#8216;{&#8220;id&#8221;:&#8221;1&#8243;,&#8221;name&#8221;:&#8221;Siva Jagadeesan&#8221;,&#8221;street1&#8243;:&#8221;88 7th&#8221;,&#8221;street2&#8243;:&#8221;#203&#8243;,&#8221;city&#8221;:&#8221;Cupertino&#8221;,&#8221;country&#8221;:&#8221;USA&#8221;,&#8221;zipsourcecode&#8221;:98802}&#8217;</p>
<p>appearing in the browser, I suspect this is an issue either of templating or JavaScript rather than of authentication.</p>
<p>Still investigating, will post a fix when I find it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Brooke</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-250</link>
		<dc:creator><![CDATA[Simon Brooke]]></dc:creator>
		<pubDate>Tue, 28 Jun 2011 11:03:32 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-250</guid>
		<description><![CDATA[In following this post through, I found I needed to modify the final &#039;ns&#039; form to:

(ns address-book.core
  (:use [compojure.core]
        [ring.adapter.jetty]
	[hiccup.core]                         ;; note: added
        [sandbar.auth]
        [sandbar.form-authentication]
	[sandbar.stateful-session]    ;; note: added
        [sandbar.validation])
  (:require [compojure.route :as route]
            [address-book.middleware :as mdw]
            [address-book.address :as address]
            [address-book.auth :as auth]
            [clj-json.core :as json]))

The post also doesn&#039;t specify where the form-authentication-routes form goes; in fact it needs to go in the defroutes form, thus:

(defroutes rts
  (GET &quot;/&quot; [] &quot;Address Book!!&quot;)
  (GET &quot;/addresses&quot; [] (json-response (address/find-all)))
  (GET &quot;/addresses/:id&quot; [id] (json-response (address/find id)))
  (POST &quot;/addresses&quot; {params :params}  (json-response (address/create params)))
  (form-authentication-routes (fn [_ c] (html c)) (auth/form-authentication-adapter))
  (route/files &quot;/&quot;)
  (route/not-found &quot;Page not found&quot;))

Altogether an excellent and most useful tutorial, many thanks!]]></description>
		<content:encoded><![CDATA[<p>In following this post through, I found I needed to modify the final &#8216;ns&#8217; form to:</p>
<p>(ns address-book.core<br />
  (:use [compojure.core]<br />
        [ring.adapter.jetty]<br />
	[hiccup.core]                         ;; note: added<br />
        [sandbar.auth]<br />
        [sandbar.form-authentication]<br />
	[sandbar.stateful-session]    ;; note: added<br />
        [sandbar.validation])<br />
  (:require [compojure.route :as route]<br />
            [address-book.middleware :as mdw]<br />
            [address-book.address :as address]<br />
            [address-book.auth :as auth]<br />
            [clj-json.core :as json]))</p>
<p>The post also doesn&#8217;t specify where the form-authentication-routes form goes; in fact it needs to go in the defroutes form, thus:</p>
<p>(defroutes rts<br />
  (GET &#8220;/&#8221; [] &#8220;Address Book!!&#8221;)<br />
  (GET &#8220;/addresses&#8221; [] (json-response (address/find-all)))<br />
  (GET &#8220;/addresses/:id&#8221; [id] (json-response (address/find id)))<br />
  (POST &#8220;/addresses&#8221; {params :params}  (json-response (address/create params)))<br />
  (form-authentication-routes (fn [_ c] (html c)) (auth/form-authentication-adapter))<br />
  (route/files &#8220;/&#8221;)<br />
  (route/not-found &#8220;Page not found&#8221;))</p>
<p>Altogether an excellent and most useful tutorial, many thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergey</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-248</link>
		<dc:creator><![CDATA[Sergey]]></dc:creator>
		<pubDate>Thu, 09 Jun 2011 12:56:28 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-248</guid>
		<description><![CDATA[Sorry, now I see your intentions to place middleware in application-routes. 

But then you miss the ability to reload handlers on the fly because you don&#039;t do &quot;(var rts)&quot;, don&#039;t you?]]></description>
		<content:encoded><![CDATA[<p>Sorry, now I see your intentions to place middleware in application-routes. </p>
<p>But then you miss the ability to reload handlers on the fly because you don&#8217;t do &#8220;(var rts)&#8221;, don&#8217;t you?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergey</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-247</link>
		<dc:creator><![CDATA[Sergey]]></dc:creator>
		<pubDate>Thu, 09 Jun 2011 12:51:30 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-247</guid>
		<description><![CDATA[Oop, I mean:

14 (run-jetty #’rts]]></description>
		<content:encoded><![CDATA[<p>Oop, I mean:</p>
<p>14 (run-jetty #’rts</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergey</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-246</link>
		<dc:creator><![CDATA[Sergey]]></dc:creator>
		<pubDate>Thu, 09 Jun 2011 12:50:45 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-246</guid>
		<description><![CDATA[It&#039;s more succint to use:

(run-jetty #&#039;application-routes

or

(run-jetty (var application-routes)

instead of

10 (def application-routes
11   rts)

14 (run-jetty application-routes]]></description>
		<content:encoded><![CDATA[<p>It&#8217;s more succint to use:</p>
<p>(run-jetty #&#8217;application-routes</p>
<p>or</p>
<p>(run-jetty (var application-routes)</p>
<p>instead of</p>
<p>10 (def application-routes<br />
11   rts)</p>
<p>14 (run-jetty application-routes</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lunamystry</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-244</link>
		<dc:creator><![CDATA[lunamystry]]></dc:creator>
		<pubDate>Thu, 24 Mar 2011 08:00:42 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-244</guid>
		<description><![CDATA[I noticed that you don&#039;t direct anything to port 8080. How is data sent to the port? What sends it?]]></description>
		<content:encoded><![CDATA[<p>I noticed that you don&#8217;t direct anything to port 8080. How is data sent to the port? What sends it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ScriptDevil</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-243</link>
		<dc:creator><![CDATA[ScriptDevil]]></dc:creator>
		<pubDate>Sun, 20 Mar 2011 07:48:45 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-243</guid>
		<description><![CDATA[You haven&#039;t mentioned anywhere how we run the server. I tried ./compojure src/address_book/core.clj, but that just quits without any error]]></description>
		<content:encoded><![CDATA[<p>You haven&#8217;t mentioned anywhere how we run the server. I tried ./compojure src/address_book/core.clj, but that just quits without any error</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://techbehindtech.com/2011/01/19/introduction-to-clojure-web-development-using-ring-compojure-and-sandbar/#comment-221</link>
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Fri, 21 Jan 2011 12:45:12 +0000</pubDate>
		<guid isPermaLink="false">https://sivajag.wordpress.com/?p=224#comment-221</guid>
		<description><![CDATA[Hey Siva
yet another great post, thanks! 

 -- Ben]]></description>
		<content:encoded><![CDATA[<p>Hey Siva<br />
yet another great post, thanks! </p>
<p> &#8212; Ben</p>
]]></content:encoded>
	</item>
</channel>
</rss>
