@@ -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