169 lines
7.6 KiB
C++
169 lines
7.6 KiB
C++
/*
|
|
* ws.h
|
|
* Author: Benjamin Sergeant
|
|
* Copyright (c) 2019 Machine Zone, Inc. All rights reserved.
|
|
*/
|
|
#pragma once
|
|
|
|
#include <ixwebsocket/IXSocketTLSOptions.h>
|
|
#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,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_ping_pong_main(const std::string& url, const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_echo_server_main(int port,
|
|
bool greetings,
|
|
const std::string& hostname,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
int ws_broadcast_server_main(int port,
|
|
const std::string& hostname,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
int ws_transfer_main(int port,
|
|
const std::string& hostname,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_chat_main(const std::string& url, const std::string& user);
|
|
|
|
int ws_connect_main(const std::string& url,
|
|
const std::string& headers,
|
|
bool disableAutomaticReconnection,
|
|
bool disablePerMessageDeflate,
|
|
bool binaryMode,
|
|
uint32_t maxWaitBetweenReconnectionRetries,
|
|
const ix::SocketTLSOptions& tlsOptions,
|
|
const std::string& subprotocol);
|
|
|
|
int ws_receive_main(const std::string& url,
|
|
bool enablePerMessageDeflate,
|
|
int delayMs,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_send_main(const std::string& url,
|
|
const std::string& path,
|
|
bool disablePerMessageDeflate,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_redis_publish_main(const std::string& hostname,
|
|
int port,
|
|
const std::string& password,
|
|
const std::string& channel,
|
|
const std::string& message,
|
|
int count);
|
|
|
|
int ws_redis_subscribe_main(const std::string& hostname,
|
|
int port,
|
|
const std::string& password,
|
|
const std::string& channel,
|
|
bool verbose);
|
|
|
|
int ws_cobra_subscribe_main(const std::string& appkey,
|
|
const std::string& endpoint,
|
|
const std::string& rolename,
|
|
const std::string& rolesecret,
|
|
const std::string& channel,
|
|
const std::string& filter,
|
|
bool quiet,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_cobra_publish_main(const std::string& appkey,
|
|
const std::string& endpoint,
|
|
const std::string& rolename,
|
|
const std::string& rolesecret,
|
|
const std::string& channel,
|
|
const std::string& path,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_cobra_metrics_publish_main(const std::string& appkey,
|
|
const std::string& endpoint,
|
|
const std::string& rolename,
|
|
const std::string& rolesecret,
|
|
const std::string& channel,
|
|
const std::string& path,
|
|
bool stress,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_cobra_to_statsd_main(const std::string& appkey,
|
|
const std::string& endpoint,
|
|
const std::string& rolename,
|
|
const std::string& rolesecret,
|
|
const std::string& channel,
|
|
const std::string& filter,
|
|
const std::string& host,
|
|
int port,
|
|
const std::string& prefix,
|
|
const std::string& fields,
|
|
bool verbose,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_cobra_to_sentry_main(const std::string& appkey,
|
|
const std::string& endpoint,
|
|
const std::string& rolename,
|
|
const std::string& rolesecret,
|
|
const std::string& channel,
|
|
const std::string& filter,
|
|
const std::string& dsn,
|
|
bool verbose,
|
|
bool strict,
|
|
int jobs,
|
|
size_t maxQueueSize,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_cobra_metrics_to_redis(const std::string& appkey,
|
|
const std::string& endpoint,
|
|
const std::string& rolename,
|
|
const std::string& rolesecret,
|
|
const std::string& channel,
|
|
const std::string& filter,
|
|
const std::string& host,
|
|
int port,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_snake_main(int port,
|
|
const std::string& hostname,
|
|
const std::string& redisHosts,
|
|
int redisPort,
|
|
const std::string& redisPassword,
|
|
bool verbose,
|
|
const std::string& appsConfigPath,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_httpd_main(int port,
|
|
const std::string& hostname,
|
|
bool redirect,
|
|
const std::string& redirectUrl,
|
|
const ix::SocketTLSOptions& tlsOptions);
|
|
|
|
int ws_autobahn_main(const std::string& url, bool quiet);
|
|
|
|
int ws_redis_server_main(int port, const std::string& hostname);
|
|
|
|
int ws_proxy_server_main(int port,
|
|
const std::string& hostname,
|
|
const ix::SocketTLSOptions& tlsOptions,
|
|
const std::string& remoteHost,
|
|
bool verbose);
|
|
|
|
int ws_sentry_minidump_upload(const std::string& metadataPath,
|
|
const std::string& minidump,
|
|
const std::string& project,
|
|
const std::string& key,
|
|
bool verbose);
|
|
|
|
int ws_dns_lookup(const std::string& hostname);
|
|
} // namespace ix
|