@@ -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 ()
@@ -238,7 +244,7 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
238244 } else {
239245 val id : Long = configuration.assignedID.getOrElse(- 1L )
240246
241- val request = HttpRequest (method = HttpMethods .POST , configuration.instanceRegistryUri + s " /deregister?Id= $id" )
247+ val request = HttpRequest (method = HttpMethods .POST , configuration.instanceRegistryUri + s " /instances/ $id/deregister " )
242248
243249 Await .result(Http (system).singleRequest(request.withHeaders(RawHeader (" Authorization" ,s " Bearer ${AuthProvider .generateJwt()}" ))) map {response =>
244250 if (response.status == StatusCodes .OK ){
@@ -259,9 +265,11 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
259265 }
260266
261267 def postInstance (instance : Instance , uri : String ) () : Future [HttpResponse ] = {
262- val request = HttpRequest (method = HttpMethods .POST , uri = uri, entity = instance.toJson(instanceFormat).toString() )
268+ val request = HttpRequest (method = HttpMethods .POST , uri = uri)
263269 // use generic name for startup, no id present at this point
264- Try (Http (system).singleRequest(request.withHeaders(RawHeader (" Authorization" ,s " Bearer ${AuthProvider .generateJwt(useGenericName = true )}" )))) match {
270+ Try (Http (system).singleRequest(request
271+ .withHeaders(RawHeader (" Authorization" ,s " Bearer ${AuthProvider .generateJwt(useGenericName = true )}" ))
272+ .withEntity(ContentTypes .`application/json`, ByteString (instance.toJson(instanceFormat).toString)))) match {
265273 case Success (res) =>
266274 res
267275 case Failure (ex) =>
@@ -285,11 +293,11 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
285293 def toOperationUriString (operation : ReportOperationType .Value , id : Long ) : String = {
286294 operation match {
287295 case Start =>
288- s " /reportStart?Id= $id"
296+ s " /instances/ $id/reportStart "
289297 case Stop =>
290- s " /reportStop?Id= $id"
298+ s " /instances/ $id/reportStop "
291299 case _ =>
292- s " /reportFailure?Id= $id"
300+ s " /instances/ $id/reportFailure "
293301 }
294302 }
295303 }
0 commit comments