code: public T httpPost(final URI uri, final List<Pair<String, String>> params) throws IOException {
      // shortcut if the passed url is invalid.
      if (null == uri) {
        logger.error(" unable to perform httpPost as the passed uri is null.");
        return null;
      }
  
      final HttpPost post = new HttpPost(uri);
      return this.sendAndReturn(completeRequest(post, params));
    }
docs: function to perform a Post http request.
  
  @param uri the URI of the request.
  @param params the form params to be posted, optional.
  @return the response object type of which is specified by user.
  @throws UnsupportedEncodingException, IOException