/*! @file

    @id $Id$
*/
//       1         2         3         4         5         6         7         8
// 45678901234567890123456789012345678901234567890123456789012345678901234567890

#define OPENSSL_LOG(X)
#include <openssl.hxx>
#include <iostream>

int main(int argc, char** argv) try {
  openssl::Init init;
  std::string host(argc>1?argv[1]:"dev.swisssign.com");
  std::string port(argc>2?argv[2]:"443");
  std::string path(argc>3?argv[3]:"/");
  std::cout<<"Library-Version: "<<pcsc::version()<<std::endl;
  std::cout<<"Connect to: "<<host<<':'<<port<<std::endl;
  openssl::SSL ssl
    (openssl::TrustStore("/usr/lib/ssl/certs/SwissSign_Gold_CA_-_G2.pem"));
  ssl.connect(host+':'+port)<<"GET "<<path<<" HTTP/1.1\n"
                            <<"Host: "<<host<<"\n"
                            <<"Connection: Close\n\n";
  while (ssl) std::cout<<ssl;
  return 0;
 } catch (const std::exception& x) {
  std::cerr<<"**** ERROR: "<<x.what()<<std::endl;
  return 1;
 }
