* add skeleton and broken http client code. GET returns "Resource temporarily unavailable" errors... * linux compile fix * can GET some pages * Update formatting in README.md * unittest for sending large messages * document bug * Feature/send large message (#14) * introduce send fragment * can pass a fin frame * can send messages which are a perfect multiple of the chunk size * set fin only for last fragment * cleanup * last fragment should be of type CONTINUATION * Add simple send and receive programs * speedups receiving + better way to wait for thing * receive speedup by using linked list of chunks instead of large array * document bug * use chunks to receive data * trailing spaces * Update README.md Add note about message fragmentation. * Feature/ws cli (#15) * New command line tool for transfering files / still very beta. * add readme * use cli11 for argument parsing * json -> msgpack * stop using base64 and use binary which can be stored in message pack * add target for building with homebrew * all CMakeLists are referenced by the top level one * add ws_chat and ws_connect sub commands to ws * cleanup * add echo and broadcast server as ws sub-commands * add gitignore * comments * ping pong added to ws * mv cobra_publisher under ws folder * Update README.md * linux build fix * linux build fix * move http_client to a ws sub-command * simple HTTP post support (urlencode parameters) * can specify extra headers * chunk encoding / simple redirect support / -I option * follow redirects is optional * make README vim markdown plugin friendly * cleanup argument parsing + add socket creation factory * add missing file * http gzip compression * cleanup * doc * Feature/send large message (#14) * introduce send fragment * can pass a fin frame * can send messages which are a perfect multiple of the chunk size * set fin only for last fragment * cleanup * last fragment should be of type CONTINUATION * Add simple send and receive programs * speedups receiving + better way to wait for thing * receive speedup by using linked list of chunks instead of large array * document bug * use chunks to receive data * trailing spaces
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  *  ws.h
 | |
|  *  Author: Benjamin Sergeant
 | |
|  *  Copyright (c) 2019 Machine Zone, Inc. All rights reserved.
 | |
|  */
 | |
| #pragma once
 | |
| 
 | |
| #include <string>
 | |
| 
 | |
| namespace ix
 | |
| {
 | |
|     int ws_http_client_main(const std::string& url,
 | |
|                             const std::string& headers,
 | |
|                             const std::string& data,
 | |
|                             bool headersOnly,
 | |
|                             int connectTimeout,
 | |
|                             int transferTimeout,
 | |
|                             bool followRedirects,
 | |
|                             int maxRedirects,
 | |
|                             bool verbose,
 | |
|                             bool save,
 | |
|                             const std::string& output,
 | |
|                             bool compress);
 | |
| 
 | |
|     int ws_ping_pong_main(const std::string& url);
 | |
| 
 | |
|     int ws_echo_server_main(int port);
 | |
| 
 | |
|     int ws_broadcast_server_main(int port);
 | |
| 
 | |
|     int ws_chat_main(const std::string& url,
 | |
|                      const std::string& user);
 | |
| 
 | |
|     int ws_connect_main(const std::string& url);
 | |
| 
 | |
|     int ws_receive_main(const std::string& url,
 | |
|                         bool enablePerMessageDeflate);
 | |
| 
 | |
|     int ws_transfer_main(int port);
 | |
| 
 | |
|     int ws_send_main(const std::string& url,
 | |
|                      const std::string& path);
 | |
| }
 |