org.apache.http.impl.client.HttpClientBuilder Scala Examples
The following examples show how to use org.apache.http.impl.client.HttpClientBuilder.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
Example 1
Source File: HTTPClientStartMockDataFlow.scala From piflow with BSD 2-Clause "Simplified" License | 9 votes |
package cn.piflow.api import org.apache.http.client.config.RequestConfig import org.apache.http.client.methods.{CloseableHttpResponse, HttpPost} import org.apache.http.entity.StringEntity import org.apache.http.impl.client.HttpClientBuilder import org.apache.http.util.EntityUtils object HTTPClientStartMockDataFlow { def main(args: Array[String]): Unit = { val json = """ |{ | "flow": { | "name": "MockData", | "executorMemory": "1g", | "executorNumber": "1", | "uuid": "8a80d63f720cdd2301723b7461d92600", | "paths": [ | { | "inport": "", | "from": "MockData", | "to": "ShowData", | "outport": "" | } | ], | "executorCores": "1", | "driverMemory": "1g", | "stops": [ | { | "name": "MockData", | "bundle": "cn.piflow.bundle.common.MockData", | "uuid": "8a80d63f720cdd2301723b7461d92604", | "properties": { | "schema": "title:String, author:String, age:Int", | "count": "10" | }, | "customizedProperties": { | | } | }, | { | "name": "ShowData", | "bundle": "cn.piflow.bundle.external.ShowData", | "uuid": "8a80d63f720cdd2301723b7461d92602", | "properties": { | "showNumber": "5" | }, | "customizedProperties": { | | } | } | ] | } |} """.stripMargin val url = "http://10.0.85.83:8001/flow/start" val timeout = 1800 val requestConfig = RequestConfig.custom() .setConnectTimeout(timeout*1000) .setConnectionRequestTimeout(timeout*1000) .setSocketTimeout(timeout*1000).build() val client = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build() val post:HttpPost = new HttpPost(url) post.addHeader("Content-Type", "application/json") post.setEntity(new StringEntity(json)) val response:CloseableHttpResponse = client.execute(post) val entity = response.getEntity val str = EntityUtils.toString(entity,"UTF-8") println("Code is " + str) } }
Example 2
Source File: HttpUtil.scala From sparta with Apache License 2.0 | 6 votes |
package com.stratio.benchmark.generator.utils import org.apache.http.HttpStatus import org.apache.http.client.methods.{HttpDelete, HttpGet, HttpPost, HttpPut} import org.apache.http.entity.StringEntity import org.apache.http.impl.client.HttpClientBuilder import org.apache.http.util.EntityUtils import org.apache.log4j.Logger import org.json4s.DefaultFormats import org.json4s.native.JsonMethods._ import scala.io.Source trait HttpUtil { private val logger = Logger.getLogger(this.getClass) def createPolicy(policyContent: String, endpoint: String)(implicit defaultFormats: DefaultFormats): String = { val policyName = (parse(policyContent) \ "name").extract[String] // If the policy exists when it launches the benchmark, it should stop and delete it. getPolicyId(policyName, endpoint) match { case Some(id) => stopPolicy(id, endpoint) deletePolicy(id, endpoint) case None => logger.debug(s"No policy with name $policyName exists in Sparta yet.") } val client = HttpClientBuilder.create().build() val post = new HttpPost(s"$endpoint/policyContext") post.setHeader("Content-type", "application/json") post.setEntity(new StringEntity(policyContent)) val response = client.execute(post) if(response.getStatusLine.getStatusCode != HttpStatus.SC_OK) throw new IllegalStateException(s"Sparta status code is not OK: ${response.getStatusLine.getStatusCode}") else { val entity = response.getEntity val policyId = (parse(EntityUtils.toString(entity)) \ "policyId").extract[String] policyId } } def getPolicyId(name: String, endpoint: String)(implicit defaultFormats: DefaultFormats): Option[String] = { val client = HttpClientBuilder.create().build() val get = new HttpGet(s"$endpoint/policy/findByName/$name") val response = client.execute(get) response.getStatusLine.getStatusCode match { case HttpStatus.SC_OK => Option((parse(EntityUtils.toString(response.getEntity)) \ "id").extract[String]) case _ => None } } def stopPolicy(id: String, endpoint: String): Unit = { val client = HttpClientBuilder.create().build() val put = new HttpPut(s"$endpoint/policyContext") put.setHeader("Content-Type", "application/json") val entity = new StringEntity(s"""{"id":"$id", "status":"Stopping"}""") put.setEntity(entity) val response = client.execute(put) if(response.getStatusLine.getStatusCode != HttpStatus.SC_CREATED) { logger.info(Source.fromInputStream(response.getEntity.getContent).mkString("")) logger.info(s"Sparta status code is not OK: ${response.getStatusLine.getStatusCode}") } } def deletePolicy(id: String, endpoint: String): Unit = { val client = HttpClientBuilder.create().build() val delete = new HttpDelete(s"$endpoint/policy/$id") val response = client.execute(delete) if(response.getStatusLine.getStatusCode != HttpStatus.SC_OK) logger.info(s"Sparta status code is not OK: ${response.getStatusLine.getStatusCode}") } }
Example 3
Source File: BaseTarget.scala From scala-json-rpc with MIT License | 5 votes |
package io.github.shogowada.scala.jsonrpc.example.test.utils import java.net.ServerSocket import org.apache.http.client.methods.HttpGet import org.apache.http.impl.client.HttpClientBuilder import scala.util.Try trait BaseTarget { lazy val port = freePort() lazy val url = s"http://localhost:$port" lazy val jarLocation = System.getProperty("jarLocation") def healthCheckUrl = url def freePort(): Int = { val server = new ServerSocket(0) val localPort = server.getLocalPort server.close() localPort } private def startProcess(jarLocation: String, port: Int): Process = { new ProcessBuilder( "java", s"-Dport=$port", "-jar", jarLocation ).start() } private def waitUntilReady(): Unit = { Range(0, 10).toStream .map(_ => { Thread.sleep(1000) val client = HttpClientBuilder.create().build() val maybeCode = Try { val response = client.execute(new HttpGet(healthCheckUrl)) val code = response.getStatusLine.getStatusCode response.close() code }.toOption client.close() maybeCode }) .filter(code => code.contains(200)) .head } val target = startProcess(jarLocation, port) Runtime.getRuntime.addShutdownHook(new Thread() { override def run(): Unit = { target.destroy() } }) waitUntilReady() }
Example 4
Source File: HTTPClientGetScheduleInfo.scala From piflow with BSD 2-Clause "Simplified" License | 5 votes |
package cn.piflow.api import org.apache.http.client.config.RequestConfig import org.apache.http.client.methods.{CloseableHttpResponse, HttpGet, HttpPost} import org.apache.http.entity.StringEntity import org.apache.http.impl.client.{HttpClientBuilder, HttpClients} import org.apache.http.util.EntityUtils object HTTPClientGetScheduleInfo { def main(args: Array[String]): Unit = { val url = "http://10.0.85.83:8001/schedule/info?scheduleId=schedule_9339f584-4ec5-4e12-a51d-4214182ff63a" val client = HttpClients.createDefault() val getFlowDebugData:HttpGet = new HttpGet(url) val response:CloseableHttpResponse = client.execute(getFlowDebugData) val entity = response.getEntity val str = EntityUtils.toString(entity,"UTF-8") println("Code is " + str) } }
Example 5
Source File: HTTPClientStartFlowIncremental.scala From piflow with BSD 2-Clause "Simplified" License | 5 votes |
package cn.piflow.api import org.apache.http.client.config.RequestConfig import org.apache.http.client.methods.{CloseableHttpResponse, HttpPost} import org.apache.http.entity.StringEntity import org.apache.http.impl.client.HttpClientBuilder import org.apache.http.util.EntityUtils object HTTPClientStartFlowIncremental { def main(args: Array[String]): Unit = { //val json:String = """{"flow":{"name":"Flow","uuid":"1234","stops":[{"uuid":"1111","name":"XmlParser","bundle":"cn.piflow.bundle.xml.XmlParser","properties":{"xmlpath":"hdfs://10.0.86.89:9000/xjzhu/dblp.mini.xml","rowTag":"phdthesis"}},{"uuid":"2222","name":"SelectField","bundle":"cn.piflow.bundle.common.SelectField","properties":{"schema":"title,author,pages"}},{"uuid":"3333","name":"PutHiveStreaming","bundle":"cn.piflow.bundle.hive.PutHiveStreaming","properties":{"database":"sparktest","table":"dblp_phdthesis"}},{"uuid":"4444","name":"CsvParser","bundle":"cn.piflow.bundle.csv.CsvParser","properties":{"csvPath":"hdfs://10.0.86.89:9000/xjzhu/phdthesis.csv","header":"false","delimiter":",","schema":"title,author,pages"}},{"uuid":"555","name":"Merge","bundle":"cn.piflow.bundle.common.Merge","properties":{}},{"uuid":"666","name":"Fork","bundle":"cn.piflow.bundle.common.Fork","properties":{"outports":["out1","out2","out3"]}},{"uuid":"777","name":"JsonSave","bundle":"cn.piflow.bundle.json.JsonSave","properties":{"jsonSavePath":"hdfs://10.0.86.89:9000/xjzhu/phdthesis.json"}},{"uuid":"888","name":"CsvSave","bundle":"cn.piflow.bundle.csv.CsvSave","properties":{"csvSavePath":"hdfs://10.0.86.89:9000/xjzhu/phdthesis_result.csv","header":"true","delimiter":","}}],"paths":[{"from":"XmlParser","outport":"","inport":"","to":"SelectField"},{"from":"SelectField","outport":"","inport":"data1","to":"Merge"},{"from":"CsvParser","outport":"","inport":"data2","to":"Merge"},{"from":"Merge","outport":"","inport":"","to":"Fork"},{"from":"Fork","outport":"out1","inport":"","to":"PutHiveStreaming"},{"from":"Fork","outport":"out2","inport":"","to":"JsonSave"},{"from":"Fork","outport":"out3","inport":"","to":"CsvSave"}]}}""" val json =""" |{ | "flow":{ | "name":"incremental", | "uuid":"1234", | "stops":[ | { | "uuid":"1111", | "name":"MysqlReadIncremental", | "bundle":"cn.piflow.bundle.jdbc.MysqlReadIncremental", | "properties":{ | "url":"jdbc:mysql://10.0.86.90:3306/sparktest", | "sql":"select * from student where id > #~#", | "user":"root", | "password":"root", | "incrementalField":"id" | } | }, | { | "uuid":"888", | "name":"CsvSave", | "bundle":"cn.piflow.bundle.csv.CsvSave", | "properties":{ | "csvSavePath":"hdfs://10.0.86.89:9000/xjzhu/phdthesis_result.csv", | "header":"true", | "delimiter":"," | } | } | ], | "paths":[ | { | "from":"MysqlReadIncremental", | "outport":"", | "inport":"", | "to":"CsvSave" | } | ] | } |} """.stripMargin val url = "http://10.0.86.98:8001/flow/start" val timeout = 1800 val requestConfig = RequestConfig.custom() .setConnectTimeout(timeout*1000) .setConnectionRequestTimeout(timeout*1000) .setSocketTimeout(timeout*1000).build() val client = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build() val post:HttpPost = new HttpPost(url) post.addHeader("Content-Type", "application/json") post.setEntity(new StringEntity(json)) val response:CloseableHttpResponse = client.execute(post) val entity = response.getEntity val str = EntityUtils.toString(entity,"UTF-8") println("Code is " + str) } }
Example 6
Source File: HTTPClientStartScalaFlow.scala From piflow with BSD 2-Clause "Simplified" License | 5 votes |
package cn.piflow.api import org.apache.http.client.config.RequestConfig import org.apache.http.client.methods.{CloseableHttpResponse, HttpPost} import org.apache.http.entity.StringEntity import org.apache.http.impl.client.HttpClientBuilder import org.apache.http.util.EntityUtils object HTTPClientStartScalaFlow { def main(args: Array[String]): Unit = { val json = """ |{ | "flow":{ | "name":"scalaTest", | "uuid":"1234567890", | "stops":[ | { | "uuid":"1111", | "name":"CsvParser", | "bundle":"cn.piflow.bundle.csv.CsvParser", | "properties":{ | "csvPath":"hdfs://10.0.86.191:9000/xjzhu/test.csv", | "header":"false", | "delimiter":",", | "schema":"title,author" | } | }, | { | "uuid":"2222", | "name":"ExecuteScalaFile", | "bundle":"cn.piflow.bundle.script.ExecuteScalaFile", | "properties":{ | "plugin":"stop_scalaTest_ExecuteScalaFile_4444", | "script":"val df = in.read() \n df.createOrReplaceTempView(\"people\") \n val df1 = spark.sql(\"select * from prople where author like 'xjzhu'\") \n out.write(df1);" | } | }, | { | "uuid":"3333", | "name":"CsvSave", | "bundle":"cn.piflow.bundle.csv.CsvSave", | "properties":{ | "csvSavePath":"hdfs://10.0.86.191:9000/xjzhu/CSVOverwrite", | "header": "true", | "delimiter":",", | "partition":"1", | "saveMode": "overwrite" | } | | } | ], | "paths":[ | { | "from":"CsvParser", | "outport":"", | "inport":"", | "to":"ExecuteScalaFile" | }, | { | "from":"ExecuteScalaFile", | "outport":"", | "inport":"", | "to":"CsvSave" | } | ] | } |} """.stripMargin val url = "http://10.0.85.83:8001/flow/start" val timeout = 1800 val requestConfig = RequestConfig.custom() .setConnectTimeout(timeout*1000) .setConnectionRequestTimeout(timeout*1000) .setSocketTimeout(timeout*1000).build() val client = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build() val post:HttpPost = new HttpPost(url) post.addHeader("Content-Type", "application/json") post.setEntity(new StringEntity(json)) val response:CloseableHttpResponse = client.execute(post) val entity = response.getEntity val str = EntityUtils.toString(entity,"UTF-8") println("Code is " + str) } }
Example 7
Source File: VaultHelper.scala From sparta with Apache License 2.0 | 5 votes |
package com.stratio.sparta.plugin.helper import java.io.{BufferedReader, InputStreamReader} import akka.event.slf4j.SLF4JLogging import org.apache.http.client.HttpClient import org.apache.http.client.methods.{HttpPost, HttpUriRequest} import org.apache.http.entity.StringEntity import org.apache.http.impl.client.HttpClientBuilder import scala.util.parsing.json.JSON object VaultHelper extends SLF4JLogging { lazy val client: HttpClient = HttpClientBuilder.create().build() lazy val jsonTemplate: String = "{ \"token\" : \"_replace_\" }" def getTemporalToken(vaultHost: String, token: String): String = { val requestUrl = s"$vaultHost/v1/sys/wrapping/wrap" log.debug(s"Requesting temporal token: $requestUrl") val post = new HttpPost(requestUrl) post.addHeader("X-Vault-Token", token) post.addHeader("X-Vault-Wrap-TTL", "2000s") post.setEntity(new StringEntity(jsonTemplate.replace("_replace_", token))) getContentFromResponse(post, "wrap_info")("token").asInstanceOf[String] } private def getContentFromResponse(uriRequest: HttpUriRequest, parentField: String): Map[String, Any] = { val response = client.execute(uriRequest) val rd = new BufferedReader(new InputStreamReader(response.getEntity.getContent)) val json = JSON.parseFull( Stream.continually(rd.readLine()).takeWhile(_ != null).mkString).get.asInstanceOf[Map[String, Any]] log.debug(s"getFrom Vault ${json.mkString("\n")}") if (response.getStatusLine.getStatusCode != 200) { val errors = json("errors").asInstanceOf[List[String]].mkString("\n") throw new RuntimeException(errors) } else json(parentField).asInstanceOf[Map[String, Any]] } }
Example 8
Source File: LdContextResolver.scala From NGSI-LD_Experimental with MIT License | 5 votes |
package utils import org.apache.http.client.methods.HttpGet import org.apache.http.impl.client.HttpClientBuilder import org.apache.http.util.EntityUtils import scala.collection.mutable object LdContextResolver { private val ldContexts = mutable.Map[String, Map[String, Any]]() def resolveContext(ldContextLoc: String, ldContextAcc: mutable.Map[String, String]): Unit = synchronized { var ldContext:Map[String, Any] = Map[String,Any]() if (ldContexts.contains(ldContextLoc)) { Console.println(s"loading @context from cache: ${ldContextLoc}") ldContext = ldContexts(ldContextLoc) } else { Console.println(s"Resolving JSON-LD @context: ${ldContextLoc}") val getRequest = new HttpGet(ldContextLoc) // send the GET request val httpClient = HttpClientBuilder.create().build() val result = httpClient.execute(getRequest) if (result.getStatusLine.getStatusCode == 200) { val ldContextStr = EntityUtils.toString(result.getEntity, "UTF-8") ldContext = ParserUtil.parse(ldContextStr).asInstanceOf[Map[String, Any]] ldContexts += (ldContextLoc -> ldContext) } } val firstLevel = ldContext.getOrElse("@context", None) if (firstLevel == None) { Console.println(s"It seems ${ldContextLoc} does not contain a valid JSON-LD @context") return } if (firstLevel.isInstanceOf[List[Any]]) { val list = firstLevel.asInstanceOf[List[Any]] list.foreach(l => { if (l.isInstanceOf[String]) { resolveContext(l.asInstanceOf[String], ldContextAcc) } else if (l.isInstanceOf[Map[String, String]]) { ldContextAcc ++= l.asInstanceOf[Map[String, String]] } }) } else if (firstLevel.isInstanceOf[Map[String,Any]]) { val contextKeys = firstLevel.asInstanceOf[Map[String,Any]] contextKeys.keySet.foreach(contextKey => { val contextValue = contextKeys(contextKey) if (contextValue.isInstanceOf[String]) { ldContextAcc += (contextKey -> contextValue.asInstanceOf[String]) } // Supporting { "@type": "http://example.org/MyType", "@id": "http://example.org/id234" } else if (contextValue.isInstanceOf[Map[String,String]]) { val contextValueMap = contextValue.asInstanceOf[Map[String,String]] ldContextAcc += (contextKey -> contextValueMap("@id")) } else { Console.println(s"Cannot resolve @context: ${ldContextLoc}") return } }) } else { Console.println(s"Cannot resolve @context: ${ldContextLoc}") return } } }
Example 9
Source File: RESTHelpers.scala From mmlspark with MIT License | 5 votes |
// Copyright (C) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See LICENSE in project root for information. package com.microsoft.ml.spark.cognitive import org.apache.commons.io.IOUtils import org.apache.http.client.config.RequestConfig import org.apache.http.client.methods._ import org.apache.http.impl.client.{CloseableHttpClient, HttpClientBuilder} import org.apache.http.impl.conn.PoolingHttpClientConnectionManager import scala.concurrent.blocking import scala.util.Try object RESTHelpers { lazy val RequestTimeout = 60000 lazy val RequestConfigVal: RequestConfig = RequestConfig.custom() .setConnectTimeout(RequestTimeout) .setConnectionRequestTimeout(RequestTimeout) .setSocketTimeout(RequestTimeout) .build() lazy val ConnectionManager = { val cm = new PoolingHttpClientConnectionManager() cm.setDefaultMaxPerRoute(Int.MaxValue) cm.setMaxTotal(Int.MaxValue) cm } lazy val Client: CloseableHttpClient = HttpClientBuilder .create().setConnectionManager(ConnectionManager) .setDefaultRequestConfig(RequestConfigVal).build() def retry[T](backoffs: List[Int], f: () => T): T = { try { f() } catch { case t: Throwable => val waitTime = backoffs.headOption.getOrElse(throw t) println(s"Caught error: $t with message ${t.getMessage}, waiting for $waitTime") blocking {Thread.sleep(waitTime.toLong)} retry(backoffs.tail, f) } } //TODO use this elsewhere def safeSend(request: HttpRequestBase, backoffs: List[Int] = List(100, 500, 1000), expectedCodes: Set[Int] = Set(), close: Boolean = true): CloseableHttpResponse = { retry(List(100, 500, 1000), { () => val response = Client.execute(request) try { if (response.getStatusLine.getStatusCode.toString.startsWith("2") || expectedCodes(response.getStatusLine.getStatusCode) ) { response } else { val requestBodyOpt = Try(request match { case er: HttpEntityEnclosingRequestBase => IOUtils.toString(er.getEntity.getContent) case _ => "" }).get val responseBodyOpt = Try(IOUtils.toString(response.getEntity.getContent)).getOrElse("") throw new RuntimeException( s"Failed: " + s"\n\t response: $response " + s"\n\t requestUrl: ${request.getURI}" + s"\n\t requestBody: $requestBodyOpt" + s"\n\t responseBody: $responseBodyOpt") } } catch { case e: Exception => response.close() throw e } finally { if (close) { response.close() } } }) } }
Example 10
Source File: HTTPSuite.scala From mmlspark with MIT License | 5 votes |
// Copyright (C) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See LICENSE in project root for information. package com.microsoft.ml.spark.io.split2 import java.io.File import com.microsoft.ml.spark.core.test.base.TestBase import com.microsoft.ml.spark.io.http.HTTPSchema.string_to_response import org.apache.http.impl.client.HttpClientBuilder import org.apache.spark.sql.execution.streaming.{HTTPSinkProvider, HTTPSourceProvider} import org.apache.spark.sql.functions.col import org.apache.spark.sql.types.StringType class HTTPSuite extends TestBase with HTTPTestUtils { test("stream from HTTP", TestBase.Extended) { val q1 = session.readStream.format(classOf[HTTPSourceProvider].getName) .option("host", host) .option("port", port.toString) .option("path", apiPath) .load() .withColumn("contentLength", col("request.entity.contentLength")) .withColumn("reply", string_to_response(col("contentLength").cast(StringType))) .writeStream .format(classOf[HTTPSinkProvider].getName) .option("name", "foo") .queryName("foo") .option("replyCol", "reply") .option("checkpointLocation", new File(tmpDir.toFile, "checkpoints").toString) .start() Thread.sleep(5000) val client = HttpClientBuilder.create().build() val p1 = sendJsonRequest(client, Map("foo" -> 1, "bar" -> "here"), url) val p2 = sendJsonRequest(client, Map("foo" -> 1, "bar" -> "heree"), url) val p3 = sendJsonRequest(client, Map("foo" -> 1, "bar" -> "hereee"), url) val p4 = sendJsonRequest(client, Map("foo" -> 1, "bar" -> "hereeee"), url) val posts = List(p1, p2, p3, p4) val correctResponses = List(27, 28, 29, 30) posts.zip(correctResponses).foreach { p => assert(p._1 === p._2.toString) } q1.stop() client.close() } }
Example 11
Source File: AWSSigningJestClientFactory.scala From haystack-traces with Apache License 2.0 | 5 votes |
package com.expedia.www.haystack.trace.commons.clients.es import java.time.{LocalDateTime, ZoneId} import com.expedia.www.haystack.trace.commons.config.entities.AWSRequestSigningConfiguration import com.google.common.base.Supplier import io.searchbox.client.JestClientFactory import org.apache.http.impl.client.HttpClientBuilder import org.apache.http.impl.nio.client.HttpAsyncClientBuilder import org.slf4j.LoggerFactory import vc.inreach.aws.request.{AWSSigner, AWSSigningRequestInterceptor} import com.amazonaws.auth.AWSCredentialsProvider import com.amazonaws.auth.BasicAWSCredentials import com.amazonaws.auth.DefaultAWSCredentialsProviderChain import com.amazonaws.internal.StaticCredentialsProvider class AWSSigningJestClientFactory(awsRequestSigningConfig: AWSRequestSigningConfiguration) extends JestClientFactory { private val LOGGER = LoggerFactory.getLogger(classOf[AWSSigningJestClientFactory]) val awsSigner = new AWSSigner(getCredentialProvider, awsRequestSigningConfig.region, awsRequestSigningConfig.awsServiceName, new ClockSupplier) val requestInterceptor = new AWSSigningRequestInterceptor(awsSigner) override def configureHttpClient(builder: HttpClientBuilder): HttpClientBuilder = { builder.addInterceptorLast(requestInterceptor) } override def configureHttpClient(builder: HttpAsyncClientBuilder): HttpAsyncClientBuilder = { builder.addInterceptorLast(requestInterceptor) } def getCredentialProvider: AWSCredentialsProvider = { if (awsRequestSigningConfig.accessKey.isDefined) { LOGGER.info("using static aws credential provider with access and secret key for ES") new StaticCredentialsProvider( new BasicAWSCredentials(awsRequestSigningConfig.accessKey.get, awsRequestSigningConfig.secretKey.get)) } else { LOGGER.info("using default credential provider chain for ES") new DefaultAWSCredentialsProviderChain } } } class ClockSupplier extends Supplier[LocalDateTime] { override def get(): LocalDateTime = { LocalDateTime.now(ZoneId.of("UTC")) } }
Example 12
Source File: JSONHTTP.scala From orders-aws with Apache License 2.0 | 5 votes |
package works.weave.socks.aws.orders.dataaccess.web import com.amazonaws.util.IOUtils import com.fasterxml.jackson.core.`type`.TypeReference import java.lang.reflect.ParameterizedType import java.lang.reflect.Type import java.net.URI import org.apache.http.client.methods.HttpGet import org.apache.http.impl.client.HttpClientBuilder import org.slf4j.LoggerFactory import works.weave.socks.aws.orders.ProjectDefaultJacksonMapper object JSONHTTP { val Log = LoggerFactory.getLogger(getClass) val objectMapper = ProjectDefaultJacksonMapper.build() // after (_.bla) def get[T : Manifest : NotNothing](uri : URI) : T = { val client = HttpClientBuilder.create.build val get = new HttpGet(uri) get.addHeader("Accept", "application/json") val response = client.execute(get) val responseString = IOUtils.toString(response.getEntity.getContent) Log.info(s"Got status ${response.getStatusLine.getStatusCode}") require(response.getStatusLine.getStatusCode == 200) Log.info(s"Got response from URI $uri: $responseString") objectMapper.readValue(responseString, typeReference[T]) } def typeReference[T : Manifest] = new TypeReference[T] { override def getType = typeFromManifest(manifest[T]) } def typeFromManifest(m : Manifest[_]) : Type = { if (m.typeArguments.isEmpty) { m.runtimeClass } else new ParameterizedType { def getRawType = m.runtimeClass def getActualTypeArguments = m.typeArguments.map(typeFromManifest).toArray def getOwnerType = null } } // Trick to disable nothign for type param sealed trait NotNothing[-T] object NotNothing { implicit object notNothing extends NotNothing[Any] implicit object `The error is because the missing type parameter was resolved to Nothing` extends NotNothing[Nothing] } }
Example 13
Source File: HttpClientWithTimeOut.scala From sumobot with Apache License 2.0 | 5 votes |
package com.sumologic.sumobot.plugins import org.apache.http.client.config.RequestConfig import org.apache.http.impl.client.HttpClientBuilder import org.apache.http.impl.conn.PoolingHttpClientConnectionManager object HttpClientWithTimeOut { val requestConfig: RequestConfig = RequestConfig.custom .setConnectionRequestTimeout(60000) .setConnectTimeout(60000) .setSocketTimeout(60000) .build def client(requestConfig: RequestConfig = requestConfig) = { val connManager = new PoolingHttpClientConnectionManager() connManager.setMaxTotal(200) connManager.setDefaultMaxPerRoute(50) HttpClientBuilder.create() .setDefaultRequestConfig(requestConfig) .setConnectionManager(connManager) .build() } }