OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
src/contrail-common/http/client/main.cc
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #include "http_client.h"
6 #include <boost/bind.hpp>
7 #include "http_curl.h"
8 #include "base/util.h"
9 #include "base/test/task_test_util.h"
10 #include "io/event_manager.h"
11 
13 int num;
14 void httpc_print(HttpConnection *conn, std::string &str,
15  boost::system::error_code &ec) {
16  num++;
17 
18  std::cout << str << std::endl;
19  std::cout << "------ Done -----" << std::endl;
20 
21  HttpClient *client = conn->client();
22  client->RemoveConnection(conn);
23 
24  if (num == 2) {
27  evm.Shutdown();
28  exit(0);
29  }
30 }
31 
32 int main() {
33  HttpClient *client = new HttpClient(&evm);
34  client->Init();
35 
36  boost::asio::ip::tcp::endpoint ep;
37  boost::system::error_code ec;
38  std::string ip("10.84.7.1");
39  ep.address(boost::asio::ip::address::from_string(ip, ec));
40  ep.port(5998);
41 
42  HttpConnection *conn = client->CreateConnection(ep);
43 
44  std::string putstr("<ifmap-server><uuid> 57 </uuid> </ifmap-server>");
45  std::string uri("publish");
46  conn->HttpPost(putstr, uri, boost::bind(&httpc_print, conn, _1, _2));
47 
48  conn = client->CreateConnection(ep);
49  std::string putstr2("<ifmap-server><uuid> 59 </uuid> </ifmap-server>");
50  conn->HttpPost(putstr2, uri, boost::bind(&httpc_print, conn, _1, _2));
51 
52  // std::string uri("");
53  // conn->HttpGet(uri, boost::bind(&httpc_print, conn, _1, _2));
54  evm.Run();
55  return 0;
56 }
void Init()
Definition: http_client.cc:422
void httpc_print(HttpConnection *conn, std::string &str, boost::system::error_code &ec)
HttpConnection * CreateConnection(boost::asio::ip::tcp::endpoint)
Definition: http_client.cc:454
static void WaitForIdle()
int HttpPost(const std::string &post_string, const std::string &path, HttpCb)
Definition: http_client.cc:180
void RemoveConnection(HttpConnection *)
Definition: http_client.cc:473
static void DeleteServer(TcpServer *server)
Definition: tcp_server.cc:656
HttpClient * client()
Definition: http_client.h:98
static EventManager evm