HttpServer
Overview
HttpServer is the foundation for writing custom HTTP Servers.
Location
- Reference: RemObjects.SDK.Server.dll
- Namespace: RemObjects.SDK.Server
- Ancestry: Component | Server | HttpServer
constructor
constructor
HttpServer()
Sub New()
constructor (IContainer)
constructor(container: IContainer)
HttpServer(IContainer container)
Sub New(container As IContainer)
Parameters:
- container:
Active (declared in Server)
Gets or sets the flag defining whether the server is listening for incoming connections.
Setting this property to true or false calls the Open or Close methods, accordingly
property Active: Boolean read write;
Boolean Active { get; set; }
Property Active() As Boolean
BindAddressV4 (declared in Server)
property BindAddressV4: IPAddress read write;
IPAddress BindAddressV4 { get; set; }
Property BindAddressV4() As IPAddress
BindAddressV6 (declared in Server)
property BindAddressV6: IPAddress read write;
IPAddress BindAddressV6 { get; set; }
Property BindAddressV6() As IPAddress
BindingV4 (declared in Server)
Gets the IPv4 ServerBinding instance.
The returned instance can be used to fine-tune the IPv4 server endpoint.
property BindingV4: ServerBinding read;
ServerBinding BindingV4 { get; }
ReadOnly Property BindingV4() As ServerBinding
BindingV6 (declared in Server)
Gets the IPv6 ServerBinding instance.
The returned instance can be used to fine-tune the IPv6 server endpoint.
property BindingV6: ServerBinding read;
ServerBinding BindingV6 { get; }
ReadOnly Property BindingV6() As ServerBinding
BindV4 (declared in Server)
Gets or sets the flag indicating whether the server should listen for IPv4 connections.
Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).
property BindV4: Boolean read write;
Boolean BindV4 { get; set; }
Property BindV4() As Boolean
BindV6 (declared in Server)
Gets or sets the flag indicating whether the server should listen for IPv6 connections.
Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).
property BindV6: Boolean read write;
Boolean BindV6 { get; set; }
Property BindV6() As Boolean
Close (declared in Server)
This method causes the server to stop listening for incoming connections.
method Close
void Close()
Sub Close()
CloseConnectionsOnShutdown (declared in Server)
Gets or sets the flag indicating whether the currently open client connections should be appropriately closed on server shutdown.
The default value is true.
property CloseConnectionsOnShutdown: Boolean read write;
Boolean CloseConnectionsOnShutdown { get; set; }
Property CloseConnectionsOnShutdown() As Boolean
ConnectionClass (declared in Server)
Gets or sets an alternative Connection class to be used for incoming data connections. The class described by the assigned Type must be a descendant of the Connection class, and will be used for all connections that are established after the property has been set.
Existing connections are not affected by changing the property.
If the ConnectionType property value is null (default), instances of the Connection base class will be used.
property ConnectionClass: Type read write;
Type ConnectionClass { get; set; }
Property ConnectionClass() As Type
ConnectionFactory (declared in Server)
Gets or sets an alternative Connection factory instance to be used for incoming data connections. This factory will be used to create corresponding Connection instances for all connections that are established after the property has been set.
Existing connections are not affected by changing the property.
This property has precendence over the ConnectionClass property.
property ConnectionFactory: IConnectionFactory read write;
IConnectionFactory ConnectionFactory { get; set; }
Property ConnectionFactory() As IConnectionFactory
CreateWorker protected
method CreateWorker(owner: Server): Object
Object CreateWorker(Server owner)
Function CreateWorker(owner As Server) As Object
Parameters:
- owner:
DefaultPort protected (declared in Server)
Gets or sets the default port number.
property DefaultPort: Int32 read write;
Int32 DefaultPort { get; set; }
Property DefaultPort() As Int32
Dispose protected (declared in Server)
Disposes of the current instance and releases all resources used by it.
method Dispose(disposing: Boolean)
void Dispose(Boolean disposing)
Sub Dispose(disposing As Boolean)
Parameters:
- disposing:
EnableNagle (declared in Server)
Gets or the sets flag indicating whether the Nagle's algoritm should be used.
Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).
property EnableNagle: Boolean read write;
Boolean EnableNagle { get; set; }
Property EnableNagle() As Boolean
HandleHttpRequest protected
method HandleHttpRequest(connection: Connection; request: HttpServerRequest; response: HttpServerResponse)
void HandleHttpRequest(Connection connection, HttpServerRequest request, HttpServerResponse response)
Sub HandleHttpRequest(connection As Connection, request As HttpServerRequest, response As HttpServerResponse)
Parameters:
- connection:
- request:
- response:
HttpRequest
event HttpRequest: EventHandler<HttpRequestEventArgs>;
delegate EventHandler<HttpRequestEventArgs> HttpRequest()
Event HttpRequest As EventHandler<HttpRequestEventArgs>
IsRunningOnMono protected (declared in Server)
class method IsRunningOnMono: Boolean
static Boolean IsRunningOnMono()
Shared Function IsRunningOnMono() As Boolean
KeepAlive
Controls whether to use HTTP Keep-Alive to keep the connection alive between requests.
If enabled (true), once a request is made and a connection is established, this connection is kept open and used for future requests.
If disabled, the connection is closed, and a new connection is created for future requests.
Since establishing a connection is - relatively speaking - a costly and resource intensive operation for the network, compared to sending small amounts of data, it is recommended to keep this option enabled for optimal performance, if requests to the server are done relatively frequently.
For Keep-Alive to work, the option must be supported and enabled on both client and server.
property KeepAlive: Boolean read write;
Boolean KeepAlive { get; set; }
Property KeepAlive() As Boolean
MaxLineLength (declared in Server)
Gets or sets the default MaxLineLength value for all newly created Connections.
See the desription of the Connection.MaxLineLength property for details.
property MaxLineLength: Int32 read write;
Int32 MaxLineLength { get; set; }
Property MaxLineLength() As Int32
MaxLineLengthEnabled (declared in Server)
Gets or sets the default MaxLineLengthEnabled value for all newly created Connections.
See the desription of the Connection.MaxLineLengthEnabled property for details.
property MaxLineLengthEnabled: Boolean read write;
Boolean MaxLineLengthEnabled { get; set; }
Property MaxLineLengthEnabled() As Boolean
Open (declared in Server)
This method causes the server to start listening for incoming connections.
method Open
void Open()
Sub Open()
Port (declared in Server)
Gets or sets the port number on which the server will listen.
property Port: Int32 read write;
Int32 Port { get; set; }
Property Port() As Int32
ServerName
property ServerName: String read write;
String ServerName { get; set; }
Property ServerName() As String
ShouldSerializePort (declared in Server)
Returns true when the DefaultPort is not equal to the Port.
method ShouldSerializePort: Boolean
Boolean ShouldSerializePort()
Function ShouldSerializePort() As Boolean
SslOptions (declared in Server)
Gets the SslConnectionFactory instance that can be used to configure the SSL options of the current Server instance.
property SslOptions: SslConnectionFactory read;
SslConnectionFactory SslOptions { get; }
ReadOnly Property SslOptions() As SslConnectionFactory
Timeout (declared in Server)
Gets or sets the default Timeout value for all newly created Connections.
See the desription of the Connection.Timeout property for details.
property Timeout: Int32 read write;
Int32 Timeout { get; set; }
Property Timeout() As Int32
TimeoutEnabled (declared in Server)
Gets or sets the default TimeoutEnabled value for all newly created Connections.
See the desription of the Connection.TimeoutEnabled property for details.
property TimeoutEnabled: Boolean read write;
Boolean TimeoutEnabled { get; set; }
Property TimeoutEnabled() As Boolean
TriggerHttpRequest protected
method TriggerHttpRequest(e: HttpRequestEventArgs)
void TriggerHttpRequest(HttpRequestEventArgs e)
Sub TriggerHttpRequest(e As HttpRequestEventArgs)
Parameters:
- e:
ValidateRequests
property ValidateRequests: Boolean read write;
Boolean ValidateRequests { get; set; }
Property ValidateRequests() As Boolean
Active (declared in Server)
Gets or sets the flag defining whether the server is listening for incoming connections.
Setting this property to true or false calls the Open or Close methods, accordingly
property Active: Boolean read write;
Boolean Active { get; set; }
Property Active() As Boolean
BindAddressV4 (declared in Server)
property BindAddressV4: IPAddress read write;
IPAddress BindAddressV4 { get; set; }
Property BindAddressV4() As IPAddress
BindAddressV6 (declared in Server)
property BindAddressV6: IPAddress read write;
IPAddress BindAddressV6 { get; set; }
Property BindAddressV6() As IPAddress
BindingV4 (declared in Server)
Gets the IPv4 ServerBinding instance.
The returned instance can be used to fine-tune the IPv4 server endpoint.
property BindingV4: ServerBinding read;
ServerBinding BindingV4 { get; }
ReadOnly Property BindingV4() As ServerBinding
BindingV6 (declared in Server)
Gets the IPv6 ServerBinding instance.
The returned instance can be used to fine-tune the IPv6 server endpoint.
property BindingV6: ServerBinding read;
ServerBinding BindingV6 { get; }
ReadOnly Property BindingV6() As ServerBinding
BindV4 (declared in Server)
Gets or sets the flag indicating whether the server should listen for IPv4 connections.
Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).
property BindV4: Boolean read write;
Boolean BindV4 { get; set; }
Property BindV4() As Boolean
BindV6 (declared in Server)
Gets or sets the flag indicating whether the server should listen for IPv6 connections.
Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).
property BindV6: Boolean read write;
Boolean BindV6 { get; set; }
Property BindV6() As Boolean
CloseConnectionsOnShutdown (declared in Server)
Gets or sets the flag indicating whether the currently open client connections should be appropriately closed on server shutdown.
The default value is true.
property CloseConnectionsOnShutdown: Boolean read write;
Boolean CloseConnectionsOnShutdown { get; set; }
Property CloseConnectionsOnShutdown() As Boolean
ConnectionClass (declared in Server)
Gets or sets an alternative Connection class to be used for incoming data connections. The class described by the assigned Type must be a descendant of the Connection class, and will be used for all connections that are established after the property has been set.
Existing connections are not affected by changing the property.
If the ConnectionType property value is null (default), instances of the Connection base class will be used.
property ConnectionClass: Type read write;
Type ConnectionClass { get; set; }
Property ConnectionClass() As Type
ConnectionFactory (declared in Server)
Gets or sets an alternative Connection factory instance to be used for incoming data connections. This factory will be used to create corresponding Connection instances for all connections that are established after the property has been set.
Existing connections are not affected by changing the property.
This property has precendence over the ConnectionClass property.
property ConnectionFactory: IConnectionFactory read write;
IConnectionFactory ConnectionFactory { get; set; }
Property ConnectionFactory() As IConnectionFactory
DefaultPort protected (declared in Server)
Gets or sets the default port number.
property DefaultPort: Int32 read write;
Int32 DefaultPort { get; set; }
Property DefaultPort() As Int32
EnableNagle (declared in Server)
Gets or the sets flag indicating whether the Nagle's algoritm should be used.
Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).
property EnableNagle: Boolean read write;
Boolean EnableNagle { get; set; }
Property EnableNagle() As Boolean
KeepAlive
Controls whether to use HTTP Keep-Alive to keep the connection alive between requests.
If enabled (true), once a request is made and a connection is established, this connection is kept open and used for future requests.
If disabled, the connection is closed, and a new connection is created for future requests.
Since establishing a connection is - relatively speaking - a costly and resource intensive operation for the network, compared to sending small amounts of data, it is recommended to keep this option enabled for optimal performance, if requests to the server are done relatively frequently.
For Keep-Alive to work, the option must be supported and enabled on both client and server.
property KeepAlive: Boolean read write;
Boolean KeepAlive { get; set; }
Property KeepAlive() As Boolean
MaxLineLength (declared in Server)
Gets or sets the default MaxLineLength value for all newly created Connections.
See the desription of the Connection.MaxLineLength property for details.
property MaxLineLength: Int32 read write;
Int32 MaxLineLength { get; set; }
Property MaxLineLength() As Int32
MaxLineLengthEnabled (declared in Server)
Gets or sets the default MaxLineLengthEnabled value for all newly created Connections.
See the desription of the Connection.MaxLineLengthEnabled property for details.
property MaxLineLengthEnabled: Boolean read write;
Boolean MaxLineLengthEnabled { get; set; }
Property MaxLineLengthEnabled() As Boolean
Port (declared in Server)
Gets or sets the port number on which the server will listen.
property Port: Int32 read write;
Int32 Port { get; set; }
Property Port() As Int32
ServerName
property ServerName: String read write;
String ServerName { get; set; }
Property ServerName() As String
SslOptions (declared in Server)
Gets the SslConnectionFactory instance that can be used to configure the SSL options of the current Server instance.
property SslOptions: SslConnectionFactory read;
SslConnectionFactory SslOptions { get; }
ReadOnly Property SslOptions() As SslConnectionFactory
Timeout (declared in Server)
Gets or sets the default Timeout value for all newly created Connections.
See the desription of the Connection.Timeout property for details.
property Timeout: Int32 read write;
Int32 Timeout { get; set; }
Property Timeout() As Int32
TimeoutEnabled (declared in Server)
Gets or sets the default TimeoutEnabled value for all newly created Connections.
See the desription of the Connection.TimeoutEnabled property for details.
property TimeoutEnabled: Boolean read write;
Boolean TimeoutEnabled { get; set; }
Property TimeoutEnabled() As Boolean
ValidateRequests
property ValidateRequests: Boolean read write;
Boolean ValidateRequests { get; set; }
Property ValidateRequests() As Boolean
IsRunningOnMono protected (declared in Server)
class method IsRunningOnMono: Boolean
static Boolean IsRunningOnMono()
Shared Function IsRunningOnMono() As Boolean
constructor
constructor
HttpServer()
Sub New()
constructor (IContainer)
constructor(container: IContainer)
HttpServer(IContainer container)
Sub New(container As IContainer)
Parameters:
- container:
Close (declared in Server)
This method causes the server to stop listening for incoming connections.
method Close
void Close()
Sub Close()
CreateWorker protected
method CreateWorker(owner: Server): Object
Object CreateWorker(Server owner)
Function CreateWorker(owner As Server) As Object
Parameters:
- owner:
Dispose protected (declared in Server)
Disposes of the current instance and releases all resources used by it.
method Dispose(disposing: Boolean)
void Dispose(Boolean disposing)
Sub Dispose(disposing As Boolean)
Parameters:
- disposing:
HandleHttpRequest protected
method HandleHttpRequest(connection: Connection; request: HttpServerRequest; response: HttpServerResponse)
void HandleHttpRequest(Connection connection, HttpServerRequest request, HttpServerResponse response)
Sub HandleHttpRequest(connection As Connection, request As HttpServerRequest, response As HttpServerResponse)
Parameters:
- connection:
- request:
- response:
Open (declared in Server)
This method causes the server to start listening for incoming connections.
method Open
void Open()
Sub Open()
ShouldSerializePort (declared in Server)
Returns true when the DefaultPort is not equal to the Port.
method ShouldSerializePort: Boolean
Boolean ShouldSerializePort()
Function ShouldSerializePort() As Boolean
TriggerHttpRequest protected
method TriggerHttpRequest(e: HttpRequestEventArgs)
void TriggerHttpRequest(HttpRequestEventArgs e)
Sub TriggerHttpRequest(e As HttpRequestEventArgs)
Parameters:
- e:
HttpRequest
event HttpRequest: EventHandler<HttpRequestEventArgs>;
delegate EventHandler<HttpRequestEventArgs> HttpRequest()
Event HttpRequest As EventHandler<HttpRequestEventArgs>