@@ -127,7 +127,7 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
127127 private def register (configuration : Configuration ) : Try [Long ] = {
128128 val instance = createInstance(None ,configuration.controlServerPort, configuration.instanceName)
129129
130- Await .result(postInstance(instance, configuration.instanceRegistryUri + " /register" )(configuration) map {response =>
130+ Await .result(postInstance(instance, configuration.instanceRegistryUri + " /instances/ register" )(configuration) map {response =>
131131 if (response.status == StatusCodes .OK ){
132132 Await .result(Unmarshal (response.entity).to[String ] map { assignedID =>
133133 val id = assignedID.toLong
@@ -155,7 +155,7 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
155155 Failure (new RuntimeException (" Cannot get ElasticSearch instance from Instance Registry, no Instance Registry available." ))
156156 } else {
157157 val request = HttpRequest (method = HttpMethods .GET , configuration.instanceRegistryUri +
158- s " /matchingInstance?Id= ${configuration.instanceId.getOrElse(- 1 )}& ComponentType=ElasticSearch" )
158+ s " /instances/ ${configuration.instanceId.getOrElse(- 1 )}/matchingInstance? ComponentType=ElasticSearch" )
159159
160160 Await .result(Http (system).singleRequest(request
161161 .withHeaders(RawHeader (" Authorization" , s " Bearer ${AuthProvider .generateJwt()(configuration)}" ))) map {response =>
@@ -193,13 +193,17 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
193193 Failure (new RuntimeException (" The ElasticSearch instance was not assigned by the Instance Registry, so no matching result will be posted." ))
194194 } else {
195195 val idToPost = configuration.elasticSearchInstance.id.getOrElse(- 1L )
196+
197+ val MatchingData = JsObject (" MatchingSuccessful" -> JsBoolean (isElasticSearchReachable),
198+ " SenderId" -> JsNumber (configuration.instanceId.getOrElse(- 1L )))
199+
196200 val request = HttpRequest (
197201 method = HttpMethods .POST ,
198- configuration.instanceRegistryUri +
199- s " /matchingResult?CallerId= ${configuration.instanceId.getOrElse(- 1 )}&MatchedInstanceId= $idToPost&MatchingSuccessful= $isElasticSearchReachable" )
202+ configuration.instanceRegistryUri + s " /instances/ $idToPost/matchingResult " )
200203
201204 Await .result(Http (system).singleRequest(request
202- .withHeaders(RawHeader (" Authorization" , s " Bearer ${AuthProvider .generateJwt()(configuration)}" ))) map {response =>
205+ .withHeaders(RawHeader (" Authorization" , s " Bearer ${AuthProvider .generateJwt()(configuration)}" ))
206+ .withEntity(ContentTypes .`application/json`, ByteString (MatchingData .toJson.toString))) map {response =>
203207 if (response.status == StatusCodes .OK ){
204208 log.info(" Successfully posted matching result to Instance Registry." )
205209 Success ()
@@ -225,7 +229,7 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
225229 } else {
226230 val id : Long = configuration.instanceId.getOrElse(- 1L )
227231
228- val request = HttpRequest (method = HttpMethods .POST , configuration.instanceRegistryUri + s " /deregister?Id= $id" )
232+ val request = HttpRequest (method = HttpMethods .POST , configuration.instanceRegistryUri + s " /instances/ $id/deregister " )
229233
230234 Await .result(Http (system).singleRequest(request
231235 .withHeaders(RawHeader (" Authorization" , s " Bearer ${AuthProvider .generateJwt()(configuration)}" ))) map {response =>
@@ -247,10 +251,11 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
247251 }
248252
249253 def postInstance (instance : Instance , uri : String ) (implicit configuration : Configuration ) : Future [HttpResponse ] = {
250- Try (HttpRequest (method = HttpMethods .POST , uri = uri, entity = instance.toJson(instanceFormat).toString() )) match {
254+ Try (HttpRequest (method = HttpMethods .POST , uri = uri)) match {
251255 // use generic name for startup, no id present at this point
252256 case Success (request) => Http (system).singleRequest(request
253- .withHeaders(RawHeader (" Authorization" , s " Bearer ${AuthProvider .generateJwt(useGenericName = true )(configuration)}" )))
257+ .withHeaders(RawHeader (" Authorization" , s " Bearer ${AuthProvider .generateJwt(useGenericName = true )(configuration)}" ))
258+ .withEntity(ContentTypes .`application/json`, ByteString (instance.toJson(instanceFormat).toString)))
254259 case Failure (dx) =>
255260 log.warning(s " Failed to deregister to Instance Registry, exception: $dx" )
256261 Future .failed(dx)
@@ -273,11 +278,11 @@ object InstanceRegistry extends InstanceJsonSupport with AppLogging
273278 def toOperationUriString (operation : ReportOperationType .Value , id : Long ) : String = {
274279 operation match {
275280 case Start =>
276- s " /reportStart?Id= $id"
281+ s " /instances/ $id/reportStart "
277282 case Stop =>
278- s " /reportStop?Id= $id"
283+ s " /instances/ $id/reportStop "
279284 case _ =>
280- s " /reportFailure?Id= $id"
285+ s " /instances/ $id/reportFailure "
281286 }
282287 }
283288 }
0 commit comments