mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-18 21:34:28 -04:00
Added Logentries to track down automatic upgrade issues
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net.Security;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace LogentriesCore
|
||||
{
|
||||
class LeClient
|
||||
{
|
||||
// Logentries API server address.
|
||||
protected const String LeApiUrl = "api.logentries.com";
|
||||
|
||||
// Port number for token logging on Logentries API server.
|
||||
protected const int LeApiTokenPort = 10000;
|
||||
|
||||
// Port number for TLS encrypted token logging on Logentries API server
|
||||
protected const int LeApiTokenTlsPort = 20000;
|
||||
|
||||
// Port number for HTTP PUT logging on Logentries API server.
|
||||
protected const int LeApiHttpPort = 80;
|
||||
|
||||
// Port number for SSL HTTP PUT logging on Logentries API server.
|
||||
protected const int LeApiHttpsPort = 443;
|
||||
|
||||
// Creates LeClient instance. If do not define useServerUrl and/or useOverrideProt during call
|
||||
// LeClient will be configured to work with api.logentries.com server; otherwise - with
|
||||
// defined server on defined port.
|
||||
public LeClient(bool useHttpPut, bool useSsl, bool useDataHub, String serverAddr, int port)
|
||||
{
|
||||
|
||||
// Override port number and server address to send logs to DataHub instance.
|
||||
if (useDataHub)
|
||||
{
|
||||
m_UseSsl = false; // DataHub does not support receiving log messages over SSL for now.
|
||||
m_TcpPort = port;
|
||||
m_ServerAddr = serverAddr;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_UseSsl = useSsl;
|
||||
|
||||
if (!m_UseSsl)
|
||||
m_TcpPort = useHttpPut ? LeApiHttpPort : LeApiTokenPort;
|
||||
else
|
||||
m_TcpPort = useHttpPut ? LeApiHttpsPort : LeApiTokenTlsPort;
|
||||
}
|
||||
}
|
||||
|
||||
private bool m_UseSsl = false;
|
||||
private int m_TcpPort;
|
||||
private TcpClient m_Client = null;
|
||||
private Stream m_Stream = null;
|
||||
private SslStream m_SslStream = null;
|
||||
private String m_ServerAddr = LeApiUrl; // By default m_ServerAddr points to api.logentries.com if useDataHub is not set to true.
|
||||
|
||||
private Stream ActiveStream
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_UseSsl ? m_SslStream : m_Stream;
|
||||
}
|
||||
}
|
||||
|
||||
public void Connect()
|
||||
{
|
||||
m_Client = new TcpClient(m_ServerAddr, m_TcpPort);
|
||||
m_Client.NoDelay = true;
|
||||
|
||||
m_Stream = m_Client.GetStream();
|
||||
|
||||
if (m_UseSsl)
|
||||
{
|
||||
m_SslStream = new SslStream(m_Stream);
|
||||
m_SslStream.AuthenticateAsClient(m_ServerAddr);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void Write(byte[] buffer, int offset, int count)
|
||||
{
|
||||
ActiveStream.Write(buffer, offset, count);
|
||||
}
|
||||
|
||||
public void Flush()
|
||||
{
|
||||
ActiveStream.Flush();
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
if (m_Client != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
m_Client.Close();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user