@@ -26,7 +26,7 @@ import scala.util.{Failure, Sorting, Success, Try}
26
26
case class Header (name : CharSequence , value : String )
27
27
28
28
class App extends ScalaVerticle {
29
-
29
+ import App . _
30
30
private val HELLO_WORLD = " Hello, world!"
31
31
private val HELLO_WORLD_BUFFER = Buffer .buffer(HELLO_WORLD , " UTF-8" )
32
32
private val SERVER = " vert.x"
@@ -116,8 +116,7 @@ class App extends ScalaVerticle {
116
116
.end(World (row.getInteger(0 ), row.getInteger(1 )).encode())
117
117
}
118
118
} else {
119
- App .logger.error(" Failed to handle request" , ar.cause())
120
- request.response.setStatusCode(500 ).end(ar.cause.getMessage)
119
+ sendError(request, ar.cause, " Failed to handle Db request" )
121
120
}
122
121
}
123
122
)
@@ -136,7 +135,7 @@ class App extends ScalaVerticle {
136
135
if (! failed) {
137
136
if (ar.failed) {
138
137
failed = true
139
- request.response.setStatusCode( 500 ).end( ar.cause.getMessage )
138
+ sendError(request, ar.cause, " Failed to handle Queries request " )
140
139
return
141
140
}
142
141
// we need a final reference
@@ -155,11 +154,6 @@ class App extends ScalaVerticle {
155
154
}
156
155
157
156
private def handleUpdates (request : HttpServerRequest ): Unit = {
158
- def sendError (err : Throwable ): Unit = {
159
- App .logger.error(" " , err)
160
- request.response.setStatusCode(500 ).end(err.getMessage)
161
- }
162
-
163
157
def handleUpdates (conn : SqlConnection , worlds : Array [World ]): Unit = {
164
158
Sorting .quickSort(worlds)
165
159
@@ -170,7 +164,7 @@ class App extends ScalaVerticle {
170
164
batch,
171
165
(ar : AsyncResult [RowSet [Row ]]) => {
172
166
if (ar.failed) {
173
- sendError(ar.cause)
167
+ sendError(request, ar.cause, " handleUpdates: failed to update DB " )
174
168
return
175
169
}
176
170
@@ -197,7 +191,7 @@ class App extends ScalaVerticle {
197
191
if (! failed) {
198
192
if (ar2.failed) {
199
193
failed = true
200
- sendError(ar2.cause)
194
+ sendError(request, ar2.cause, " handleUpdates: failed to read DB " )
201
195
return
202
196
}
203
197
worlds(index) = World (ar2.result.iterator.next.getInteger(0 ), App .randomWorld())
@@ -206,7 +200,6 @@ class App extends ScalaVerticle {
206
200
}
207
201
}
208
202
)
209
-
210
203
i += 1
211
204
}
212
205
}
@@ -230,9 +223,7 @@ class App extends ScalaVerticle {
230
223
responseWithHeaders(request.response, contentTypeHtml)
231
224
.end(html.fortune(fortunes).body)
232
225
} else {
233
- val err = ar.cause
234
- App .logger.error(" " , err)
235
- response.setStatusCode(500 ).end(err.getMessage)
226
+ sendError(request, ar.cause, " handleFortunes failed to update DB" )
236
227
}
237
228
}
238
229
)
@@ -241,9 +232,9 @@ class App extends ScalaVerticle {
241
232
242
233
object App {
243
234
val logger : Logger = Logger [App ]
244
-
235
+ val defaultConfigPath = " src/main/conf/config.json "
245
236
def main (args : Array [String ]): Unit = {
246
- val config = new JsonObject (Files .readString(new File (args(0 )).toPath))
237
+ val config = new JsonObject (Files .readString(new File (if (args.length < 1 ) defaultConfigPath else args(0 )).toPath))
247
238
val vertx = Vertx .vertx(VertxOptions ().setPreferNativeTransport(true ))
248
239
249
240
printConfig(vertx)
@@ -299,4 +290,9 @@ object App {
299
290
logger.info(" Event Loop Size: {}" , JVertxOptions .DEFAULT_EVENT_LOOP_POOL_SIZE )
300
291
logger.info(" Native transport: {}" , vertx.isNativeTransportEnabled)
301
292
}
293
+
294
+ def sendError (request : HttpServerRequest , err : Throwable , msg : String = " " ): Unit = {
295
+ App .logger.error(msg, err)
296
+ request.response.setStatusCode(500 ).end(err.getMessage)
297
+ }
302
298
}
0 commit comments