Skip to content

Commit a304a95

Browse files
author
Johannes Duesing
committed
Merge branch 'develop' into feature/traefikIntegration
2 parents 8a845b1 + 83260f5 commit a304a95

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

app/utils/instancemanagement/InstanceRegistry.scala

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
121121
def register(configuration: Configuration) : Try[Long] = {
122122
val instance = createInstance(None,configuration.bindPort, configuration.instanceName, None, InstanceState.Running)
123123

124-
Await.result(postInstance(instance, configuration.instanceRegistryUri + "/register") map {response =>
124+
Await.result(postInstance(instance, configuration.instanceRegistryUri + "/instances/register") map {response =>
125125
if(response.status == StatusCodes.OK){
126126
Await.result(Unmarshal(response.entity).to[String] map { assignedID =>
127127
val id = assignedID.toLong
@@ -149,7 +149,7 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
149149
Failure(new RuntimeException("Cannot get WebApi instance from Instance Registry, no Instance Registry available."))
150150
} else {
151151
val request = HttpRequest(method = HttpMethods.GET, configuration.instanceRegistryUri +
152-
s"/matchingInstance?Id=${configuration.assignedID.getOrElse(-1)}&ComponentType=WebApi")
152+
s"/instances/${configuration.assignedID.getOrElse(-1)}/matchingInstance?ComponentType=WebApi")
153153

154154
Await.result(Http(system).singleRequest(request.withHeaders(RawHeader("Authorization",s"Bearer ${AuthProvider.generateJwt()}"))) map {response =>
155155
response.status match {
@@ -187,12 +187,18 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
187187
Failure(new RuntimeException("The WebApi instance was not assigned by the Instance Registry, so no matching result will be posted."))
188188
} else {
189189
val idToPost = configuration.webApiInstance.id.getOrElse(-1L)
190+
191+
val MatchingData = JsObject("MatchingSuccessful" -> JsBoolean(isWebApiReachable),
192+
"SenderId" -> JsNumber(configuration.assignedID.getOrElse(-1L)))
193+
190194
val request = HttpRequest(
191195
method = HttpMethods.POST,
192-
configuration.instanceRegistryUri +
193-
s"/matchingResult?CallerId=${configuration.assignedID.getOrElse(-1)}&MatchedInstanceId=$idToPost&MatchingSuccessful=$isWebApiReachable")
196+
configuration.instanceRegistryUri + s"/instances/$idToPost/matchingResult")
197+
198+
Await.result(Http(system).singleRequest(request
199+
.withHeaders(RawHeader("Authorization",s"Bearer ${AuthProvider.generateJwt()}"))
200+
.withEntity(ContentTypes.`application/json`, ByteString(MatchingData.toJson.toString))) map {response =>
194201

195-
Await.result(Http(system).singleRequest(request.withHeaders(RawHeader("Authorization",s"Bearer ${AuthProvider.generateJwt()}"))) map {response =>
196202
if(response.status == StatusCodes.OK){
197203
log.info("Successfully posted matching result to Instance Registry.")
198204
Success()
@@ -239,7 +245,7 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
239245
} else {
240246
val id : Long = configuration.assignedID.getOrElse(-1L)
241247

242-
val request = HttpRequest(method = HttpMethods.POST, configuration.instanceRegistryUri + s"/deregister?Id=$id")
248+
val request = HttpRequest(method = HttpMethods.POST, configuration.instanceRegistryUri + s"/instances/$id/deregister")
243249

244250
Await.result(Http(system).singleRequest(request.withHeaders(RawHeader("Authorization",s"Bearer ${AuthProvider.generateJwt()}"))) map {response =>
245251
if(response.status == StatusCodes.OK){
@@ -260,9 +266,11 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
260266
}
261267

262268
def postInstance(instance : Instance, uri: String) () : Future[HttpResponse] = {
263-
val request = HttpRequest(method = HttpMethods.POST, uri = uri, entity = instance.toJson(instanceFormat).toString())
269+
val request = HttpRequest(method = HttpMethods.POST, uri = uri)
264270
//use generic name for startup, no id present at this point
265-
Try(Http(system).singleRequest(request.withHeaders(RawHeader("Authorization",s"Bearer ${AuthProvider.generateJwt(useGenericName = true)}")))) match {
271+
Try(Http(system).singleRequest(request
272+
.withHeaders(RawHeader("Authorization",s"Bearer ${AuthProvider.generateJwt(useGenericName = true)}"))
273+
.withEntity(ContentTypes.`application/json`, ByteString(instance.toJson(instanceFormat).toString)))) match {
266274
case Success(res) =>
267275
res
268276
case Failure(ex) =>
@@ -286,11 +294,11 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
286294
def toOperationUriString(operation: ReportOperationType.Value, id: Long) : String = {
287295
operation match {
288296
case Start =>
289-
s"/reportStart?Id=$id"
297+
s"/instances/$id/reportStart"
290298
case Stop =>
291-
s"/reportStop?Id=$id"
299+
s"/instances/$id/reportStop"
292300
case _ =>
293-
s"/reportFailure?Id=$id"
301+
s"/instances/$id/reportFailure"
294302
}
295303
}
296304
}

0 commit comments

Comments
 (0)