class RestClient extends Client {

  @Override
  public void send(Cdr msg) throws EtiqetException {
    if (getRequestFactory() == null) {
      launchClient();
    }

    HttpRequestMsg httpReqMsg = (HttpRequestMsg) transport.getCodec().encode(msg);
    try {
      String baseUrl = getClientConfig().getString("baseUrl");
      httpReqMsg.setResponse(httpReqMsg.createHttpRequest(requestFactory, baseUrl).execute());
      msgQueue.add((Cdr) transport.getCodec().decode(httpReqMsg));
    } catch (IOException e) {
      LOG.error("Error sending HTTP Request", e);
      throw new EtiqetException("Error sending HTTP Request", e);
    }
  }

  public  RestClient(String clientConfig);
  public  RestClient(String primaryConfig, String secondaryConfig);
  public  RestClient(String primaryClientConfig, String secondaryClientConfig,
      ProtocolConfig protocol);

}