@@ -420,13 +420,14 @@
OFString *date = [[OFDate date]
dateStringWithFormat: @"%a, %d %b %Y %H:%M:%S GMT"];
[sock writeFormat: @"HTTP/1.1 %d %s\r\n"
@"Date: %@\r\n"
- @"Server: OFHTTPServer (ObjFW's HTTP server class, "
- @")\r\n\r\n",
- statusCode, status_code_to_string(statusCode), date];
+ @"Server: %@\r\n"
+ @"\r\n",
+ statusCode, status_code_to_string(statusCode), date,
+ [server name]];
[sock close];
return NO;
}
@@ -473,14 +474,14 @@
replyHeaders = [reply headers];
replyData = [reply data];
[sock writeFormat: @"HTTP/1.1 %d %s\r\n"
- @"Server: OFHTTPServer (ObjFW's HTTP server class, "
- @")\r\n",
+ @"Server: %@\r\n",
[reply statusCode],
- status_code_to_string([reply statusCode])];
+ status_code_to_string([reply statusCode]),
+ [server name]];
if (requestType != OF_HTTP_REQUEST_TYPE_HEAD)
[sock writeFormat: @"Content-Length: %zu\r\n",
[replyData count] * [replyData itemSize]];
@@ -501,15 +502,26 @@
@implementation OFHTTPServer
+ (instancetype)server
{
return [[[self alloc] init] autorelease];
}
+
+- init
+{
+ self = [super init];
+
+ name = @"OFHTTPServer (ObjFW's HTTP server class "
+ @")";
+
+ return self;
+}
- (void)dealloc
{
[host release];
[listeningSocket release];
+ [name release];
[super dealloc];
}
- (void)setHost: (OFString*)host_
@@ -539,10 +551,20 @@
- (id )delegate
{
return delegate;
}
+
+- (void)setName: (OFString*)name_
+{
+ OF_SETTER(name, name_, YES, 1)
+}
+
+- (OFString*)name
+{
+ OF_GETTER(name, YES)
+}
- (void)start
{
if (host == nil || port == 0)
@throw [OFInvalidArgumentException