Added support for server name
This commit is contained in:
@@ -26,6 +26,7 @@ feature -- Access
|
|||||||
Server_details : STRING = "Server : NINO Eiffel Server"
|
Server_details : STRING = "Server : NINO Eiffel Server"
|
||||||
|
|
||||||
document_root: STRING assign set_document_root
|
document_root: STRING assign set_document_root
|
||||||
|
http_server_name: detachable STRING assign set_http_server_name
|
||||||
http_server_port: INTEGER assign set_http_server_port
|
http_server_port: INTEGER assign set_http_server_port
|
||||||
max_tcp_clients: INTEGER assign set_max_tcp_clients
|
max_tcp_clients: INTEGER assign set_max_tcp_clients
|
||||||
socket_accept_timeout: INTEGER assign set_socket_accept_timeout
|
socket_accept_timeout: INTEGER assign set_socket_accept_timeout
|
||||||
@@ -37,6 +38,11 @@ feature -- Access
|
|||||||
|
|
||||||
feature -- Element change
|
feature -- Element change
|
||||||
|
|
||||||
|
set_http_server_name (v: like http_server_name)
|
||||||
|
do
|
||||||
|
http_server_name := v
|
||||||
|
end
|
||||||
|
|
||||||
set_http_server_port (v: like http_server_port)
|
set_http_server_port (v: like http_server_port)
|
||||||
do
|
do
|
||||||
http_server_port := v
|
http_server_port := v
|
||||||
|
|||||||
@@ -43,12 +43,22 @@ feature -- Inherited Features
|
|||||||
local
|
local
|
||||||
l_listening_socket: detachable TCP_STREAM_SOCKET
|
l_listening_socket: detachable TCP_STREAM_SOCKET
|
||||||
l_http_port: INTEGER
|
l_http_port: INTEGER
|
||||||
|
l_factory: INET_ADDRESS_FACTORY
|
||||||
do
|
do
|
||||||
launched := False
|
launched := False
|
||||||
port := 0
|
port := 0
|
||||||
is_stop_requested := False
|
is_stop_requested := False
|
||||||
l_http_port := http_server_port
|
l_http_port := http_server_port
|
||||||
|
|
||||||
|
if
|
||||||
|
attached http_server_name as l_servername and then
|
||||||
|
attached (create {INET_ADDRESS_FACTORY}).create_from_name (l_servername) as l_addr
|
||||||
|
then
|
||||||
|
create l_listening_socket.make_server_by_address_and_port (l_addr, l_http_port)
|
||||||
|
else
|
||||||
create l_listening_socket.make_server_by_port (l_http_port)
|
create l_listening_socket.make_server_by_port (l_http_port)
|
||||||
|
end
|
||||||
|
|
||||||
if not l_listening_socket.is_bound then
|
if not l_listening_socket.is_bound then
|
||||||
if is_verbose then
|
if is_verbose then
|
||||||
log ("Socket could not be bound on port " + l_http_port.out)
|
log ("Socket could not be bound on port " + l_http_port.out)
|
||||||
@@ -164,6 +174,11 @@ feature -- Access: configuration
|
|||||||
Result := server_configuration.force_single_threaded
|
Result := server_configuration.force_single_threaded
|
||||||
end
|
end
|
||||||
|
|
||||||
|
http_server_name: detachable STRING
|
||||||
|
do
|
||||||
|
Result := server_configuration.http_server_name
|
||||||
|
end
|
||||||
|
|
||||||
http_server_port: INTEGER
|
http_server_port: INTEGER
|
||||||
do
|
do
|
||||||
Result := server_configuration.http_server_port
|
Result := server_configuration.http_server_port
|
||||||
@@ -215,6 +230,6 @@ invariant
|
|||||||
server_attached: server /= Void
|
server_attached: server /= Void
|
||||||
|
|
||||||
note
|
note
|
||||||
copyright: "2011-2011, Javier Velilla and others"
|
copyright: "2011-2012, Javier Velilla and others"
|
||||||
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -10,11 +10,24 @@ inherit
|
|||||||
NETWORK_STREAM_SOCKET
|
NETWORK_STREAM_SOCKET
|
||||||
|
|
||||||
create
|
create
|
||||||
|
make_server_by_address_and_port,
|
||||||
make_server_by_port
|
make_server_by_port
|
||||||
|
|
||||||
create {NETWORK_STREAM_SOCKET}
|
create {NETWORK_STREAM_SOCKET}
|
||||||
make_from_descriptor_and_address
|
make_from_descriptor_and_address
|
||||||
|
|
||||||
|
feature {NONE} -- Initialization
|
||||||
|
|
||||||
|
make_server_by_address_and_port (an_address: INET_ADDRESS; a_port: INTEGER)
|
||||||
|
-- Create server socket on `an_address' and `a_port'.
|
||||||
|
require
|
||||||
|
valid_port: a_port >= 0
|
||||||
|
do
|
||||||
|
make
|
||||||
|
create address.make_from_address_and_port (an_address, a_port)
|
||||||
|
bind
|
||||||
|
end
|
||||||
|
|
||||||
feature -- Basic operation
|
feature -- Basic operation
|
||||||
|
|
||||||
send_message (a_msg: STRING)
|
send_message (a_msg: STRING)
|
||||||
|
|||||||
Reference in New Issue
Block a user