@@ -74,9 +74,9 @@ class DelphiRoutes(requestLimiter: RequestLimitScheduler) extends JsonSupport wi
74
74
get {
75
75
parameter(Symbol (" pretty" ).? ) { (pretty) =>
76
76
complete(
77
- // TODO: Introduce failure concept for feature extractor
78
- prettyPrint(pretty, featureExtractor.featureList.toJson)
79
- )
77
+ HttpResponse ( StatusCodes . OK ,
78
+ List (headers.`Content-Type`( ContentTypes .`application/json`)),
79
+ prettyPrint(pretty, featureExtractor.featureList.toJson)) )
80
80
}
81
81
}
82
82
}
@@ -89,7 +89,9 @@ class DelphiRoutes(requestLimiter: RequestLimitScheduler) extends JsonSupport wi
89
89
val result = new StatisticsQuery (configuration).retrieveStandardStatistics
90
90
result match {
91
91
case Some (stats) => {
92
- prettyPrint(pretty, stats.toJson)
92
+ HttpResponse (StatusCodes .OK ,
93
+ List (headers.`Content-Type`(ContentTypes .`application/json`)),
94
+ prettyPrint(pretty, stats.toJson))
93
95
}
94
96
case _ => HttpResponse (StatusCodes .InternalServerError )
95
97
}
@@ -103,7 +105,9 @@ class DelphiRoutes(requestLimiter: RequestLimitScheduler) extends JsonSupport wi
103
105
parameter(Symbol (" pretty" ).? ) { (pretty) =>
104
106
complete(
105
107
RetrieveQuery .retrieve(identifier) match {
106
- case Some (result) => prettyPrint(pretty, result.toJson)
108
+ case Some (result) => HttpResponse (StatusCodes .OK ,
109
+ List (headers.`Content-Type`(ContentTypes .`application/json`)),
110
+ prettyPrint(pretty, result.toJson))
107
111
case None => HttpResponse (StatusCodes .NotFound )
108
112
}
109
113
)
@@ -118,14 +122,17 @@ class DelphiRoutes(requestLimiter: RequestLimitScheduler) extends JsonSupport wi
118
122
log.info(s " Received search query: ${input.query}" )
119
123
complete(
120
124
new SearchQuery (configuration, featureExtractor).search(input) match {
121
- case Success (result) => prettyPrint(pretty, result.toJson)
125
+ case Success (result) =>
126
+ HttpResponse (StatusCodes .OK ,
127
+ List (headers.`Content-Type`(ContentTypes .`application/json`)),
128
+ prettyPrint(pretty, result.toJson))
122
129
case Failure (e) => {
123
130
e match {
124
131
case se : SearchError => {
125
- se.toJson
132
+ HttpResponse ( StatusCodes . ServerError ( StatusCodes . InternalServerError .intValue)( se.toJson.toString(), " " ))
126
133
}
127
134
case _ => {
128
- new SearchError ( " Search query failed" ).toJson
135
+ HttpResponse ( StatusCodes . ServerError ( StatusCodes . InternalServerError .intValue)( " Search query failed" , " " ))
129
136
}
130
137
}
131
138
}
0 commit comments