Skip to content

Commit 82e1003

Browse files
authored
Merge pull request #50 from delphi-hub/feature/endpoint_content_type
Feature/endpoint content type
2 parents c75abaf + 0b63a7d commit 82e1003

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

src/main/scala/de/upb/cs/swt/delphi/webapi/DelphiRoutes.scala

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ class DelphiRoutes(requestLimiter: RequestLimitScheduler) extends JsonSupport wi
7474
get {
7575
parameter(Symbol("pretty").?) { (pretty) =>
7676
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)))
8080
}
8181
}
8282
}
@@ -89,7 +89,9 @@ class DelphiRoutes(requestLimiter: RequestLimitScheduler) extends JsonSupport wi
8989
val result = new StatisticsQuery(configuration).retrieveStandardStatistics
9090
result match {
9191
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))
9395
}
9496
case _ => HttpResponse(StatusCodes.InternalServerError)
9597
}
@@ -103,7 +105,9 @@ class DelphiRoutes(requestLimiter: RequestLimitScheduler) extends JsonSupport wi
103105
parameter(Symbol("pretty").?) { (pretty) =>
104106
complete(
105107
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))
107111
case None => HttpResponse(StatusCodes.NotFound)
108112
}
109113
)
@@ -118,14 +122,17 @@ class DelphiRoutes(requestLimiter: RequestLimitScheduler) extends JsonSupport wi
118122
log.info(s"Received search query: ${input.query}")
119123
complete(
120124
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))
122129
case Failure(e) => {
123130
e match {
124131
case se: SearchError => {
125-
se.toJson
132+
HttpResponse(StatusCodes.ServerError(StatusCodes.InternalServerError.intValue)(se.toJson.toString(), ""))
126133
}
127134
case _ => {
128-
new SearchError("Search query failed").toJson
135+
HttpResponse(StatusCodes.ServerError(StatusCodes.InternalServerError.intValue)("Search query failed", ""))
129136
}
130137
}
131138
}

0 commit comments

Comments
 (0)