public
Description: demo of starling, in scala
Clone URL: git://github.com/robey/scarling.git
catch and handle number format errors.
robey (author)
Thu Jul 24 14:57:52 -0700 2008
commit  7be9c894d0f44d3716c52bc71837b445d401bb9c
tree    b7a77b04f2fd334de955c0f9077f6e3e2b7f6889
parent  81e7111f3a6c7ebc7a9d55f596155a7c0174ab61
...
90
91
92
93
 
 
 
 
 
 
 
94
95
96
...
90
91
92
 
93
94
95
96
97
98
99
100
101
102
0
@@ -90,7 +90,13 @@ class ScarlingHandler(val session: IoSession, val config: Config) extends Actor
0
     private def handle(request: memcache.Request) = {
0
         request.line(0) match {
0
             case "GET" => get(request.line(1))
0
- case "SET" => set(request.line(1), request.line(2).toInt, request.line(3).toInt, request.data.get)
0
+ case "SET" =>
0
+ try {
0
+ set(request.line(1), request.line(2).toInt, request.line(3).toInt, request.data.get)
0
+ } catch {
0
+ case e: NumberFormatException =>
0
+ throw new memcache.ProtocolException("bad request: " + request)
0
+ }
0
             case "STATS" => stats
0
             case "SHUTDOWN" => shutdown
0
         }

Comments

    No one has commented yet.