ObjFW  Check-in [6b4d138cc3]

Overview
Comment:OFHTTPServer: Allow setting name to nil

Setting it to nil means no Server header is sent.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 6b4d138cc3e652220f5b8ace89b1eb499e68b5f88bab37e1aea4543edd172f0d
User & Date: js on 2016-01-05 14:55:47
Other Links: manifest | tags
Context
2016-01-05
14:58
OFHTTPClient: Allow override of all headers check-in: b9c811a236 user: js tags: trunk
14:55
OFHTTPServer: Allow setting name to nil check-in: 6b4d138cc3 user: js tags: trunk
14:10
Better randomization of HTTP header order check-in: 58d4025602 user: js tags: trunk
Changes

Modified src/OFHTTPServer.h from [5c01a19877] to [79f127a3bc].

89
90
91
92
93
94
95



96
97
98
99
100
101
102
103
104
/*!
 * The delegate for the HTTP server.
 */
@property OF_NULLABLE_PROPERTY (assign) id <OFHTTPServerDelegate> delegate;

/*!
 * The server name the server presents to clients.



 */
@property (copy) OFString *name;

/*!
 * @brief Creates a new HTTP server.
 *
 * @return A new HTTP server
 */
+ (instancetype)server;







>
>
>

|







89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/*!
 * The delegate for the HTTP server.
 */
@property OF_NULLABLE_PROPERTY (assign) id <OFHTTPServerDelegate> delegate;

/*!
 * The server name the server presents to clients.
 *
 * Setting it to `nil` means no `Server` header will be sent, unless one is
 * specified in the response headers.
 */
@property OF_NULLABLE_PROPERTY (copy) OFString *name;

/*!
 * @brief Creates a new HTTP server.
 *
 * @return A new HTTP server
 */
+ (instancetype)server;

Modified src/OFHTTPServer.m from [5b5e9e2174] to [e2c16ad886].

221
222
223
224
225
226
227
228



229
230

231
232
233
234
235
236
237
		OFString *date = [[OFDate date]
		    dateStringWithFormat: @"%a, %d %b %Y %H:%M:%S GMT"];

		[headers setObject: date
			    forKey: @"Date"];
	}

	if ([headers objectForKey: @"Server"] == nil)



		[headers setObject: [_server name]
			    forKey: @"Server"];


	keyEnumerator = [headers keyEnumerator];
	valueEnumerator = [headers objectEnumerator];
	while ((key = [keyEnumerator nextObject]) != nil &&
	    (value = [valueEnumerator nextObject]) != nil)
		[_socket writeFormat: @"%@: %@\r\n", key, value];








|
>
>
>
|
|
>







221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
		OFString *date = [[OFDate date]
		    dateStringWithFormat: @"%a, %d %b %Y %H:%M:%S GMT"];

		[headers setObject: date
			    forKey: @"Date"];
	}

	if ([headers objectForKey: @"Server"] == nil) {
		OFString *name = [_server name];

		if (name != nil)
			[headers setObject: name
				    forKey: @"Server"];
	}

	keyEnumerator = [headers keyEnumerator];
	valueEnumerator = [headers objectEnumerator];
	while ((key = [keyEnumerator nextObject]) != nil &&
	    (value = [valueEnumerator nextObject]) != nil)
		[_socket writeFormat: @"%@: %@\r\n", key, value];