How do I convert the following curl request into Scala . I tried the following and it does not work .(getting 401 status code).
Any inputs:Any inputs:Any inputs:Any inputs:
curl -X GET 'https://api.newrelic.com/v2/applications.json' -H 'X-Api Key:9338232b0a1caa4e' -i -G -d 'filter[name]=my.app.hostname'
import com.ning.http.client.AsyncHttpClientConfig
import play.api.libs.ws.ning.NingWSClient
import scala.concurrent.ExecutionContext.Implicits.global
object callToNewRelic {
val httpConfigBuilder = new AsyncHttpClientConfig.Builder()
val httpConfig = httpConfigBuilder.build()
val client = new NingWSClient(httpConfig)
def filterByHost(APIkey:String,hostName: String):String={
val content=client.url("https://api.newrelic.com/v2/applications.json")
.withHeaders("X-Api-Key" -> APIkey)
.withQueryString("filter[name]" -> hostName)
.get()
content onSuccess{
case x if x.status ==200 =>
x.json.toString()
case y =>
"Falied with Status Code "+y.status
//println("Falied with Status Code "+y.status)
}
client.close()
content.failed.toString
}
def main(args: Array[String]) {
println("Filter by host is : \n"+ filterByHost("9338232b0943df4b690aa4e", "c85-ap2.qam.q.com"))
//getNewRelicContentFromUrl()
}
}
I'm getting the following error :
[main] DEBUG c.n.h.c.p.n.NettyAsyncHttpProvider - Number of application's worker threads is 16
Exception in thread "main" java.lang.NoSuchMethodError: com.ning.http.client.RequestBuilder.addQueryParam(Ljava/lang/String;Ljava/lang/String;)Lcom/ning/http/client/RequestBuilder;
at play.api.libs.ws.ning.NingWSRequest$$anonfun$buildRequest$3$$anonfun$apply$4.apply(NingWS.scala:230)
at play.api.libs.ws.ning.NingWSRequest$$anonfun$buildRequest$3$$anonfun$apply$4.apply(NingWS.scala:229)
at scala.collection.immutable.List.foreach(List.scala:318)
at play.api.libs.ws.ning.NingWSRequest$$anonfun$buildRequest$3.apply(NingWS.scala:229)
at play.api.libs.ws.ning.NingWSRequest$$anonfun$buildRequest$3.apply(NingWS.scala:228)
at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:772)
at scala.collection.immutable.Map$Map1.foreach(Map.scala:109)
at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:771)
at play.api.libs.ws.ning.NingWSRequest.buildRequest(NingWS.scala:228)
at play.api.libs.ws.ning.NingWSRequest.execute(NingWS.scala:128)
at play.api.libs.ws.WSRequest$class.get(WS.scala:408)
at play.api.libs.ws.ning.NingWSRequest.get(NingWS.scala:81)
at callToNewRelic$.filterByHost(callToNewRelic.scala:52)
at callToNewRelic$.main(callToNewRelic.scala:68)
at callToNewRelic.main(callToNewRelic.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)