def doHttpRequest()

in measure/src/main/scala/org/apache/griffin/measure/utils/HttpUtil.scala [34:62]


  def doHttpRequest(
      url: String,
      method: String,
      params: Map[String, Object],
      headers: Map[String, Object],
      data: String): (Integer, String) = {
    val client = HttpClientBuilder.create.build
    val uriBuilder = new URIBuilder(url)
    convertObjMap2StrMap(params) foreach (param => uriBuilder.setParameter(param._1, param._2))
    val handler = new BasicResponseHandler()
    val request = method match {
      case POST_REGEX() =>
        val post = new HttpPost(uriBuilder.build())
        post.setEntity(new StringEntity(data, ContentType.APPLICATION_JSON))
        post
      case PUT_REGEX() =>
        val put = new HttpPut(uriBuilder.build())
        put.setEntity(new StringEntity(data, ContentType.APPLICATION_JSON))
        put
      case GET_REGEX() =>
        new HttpGet(uriBuilder.build())
      case DELETE_REGEX() =>
        new HttpDelete(uriBuilder.build())
      case _ => throw new UnsupportedOperationException("Unsupported http method error!")
    }
    convertObjMap2StrMap(headers) foreach (header => request.addHeader(header._1, header._2))
    val response = client.execute(request)
    (response.getStatusLine.getStatusCode, handler.handleResponse(response).trim)
  }