[rygel] server: Add "Sever:" header
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] server: Add "Sever:" header
- Date: Sat, 13 Feb 2016 23:04:33 +0000 (UTC)
commit d78337c4ebd565a7c4ef4411f56f8bfbf6384f65
Author: Jens Georg <mail jensge org>
Date: Sun Feb 14 00:02:38 2016 +0100
server: Add "Sever:" header
We append a Server header to the HTTP response.
Default is plugin/version g_get_prgname()/version DLNA/1.51 UPnP/1.0
It is configurable on a per-plugin base using the key "server-name"
Signed-off-by: Jens Georg <mail jensge org>
https://bugzilla.gnome.org/show_bug.cgi?id=747816
src/librygel-server/rygel-http-get.vala | 2 ++
src/librygel-server/rygel-http-server.vala | 14 ++++++++++++++
2 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/librygel-server/rygel-http-get.vala b/src/librygel-server/rygel-http-get.vala
index 053a142..c737b22 100644
--- a/src/librygel-server/rygel-http-get.vala
+++ b/src/librygel-server/rygel-http-get.vala
@@ -221,6 +221,8 @@ public class Rygel.HTTPGet : HTTPRequest {
// Add headers
this.handler.add_response_headers (this);
+ this.msg.response_headers.append ("Server",
+ this.http_server.server_name);
var response = this.handler.render_body (this);
diff --git a/src/librygel-server/rygel-http-server.vala b/src/librygel-server/rygel-http-server.vala
index 517c4bd..d6ea55e 100644
--- a/src/librygel-server/rygel-http-server.vala
+++ b/src/librygel-server/rygel-http-server.vala
@@ -31,6 +31,7 @@ using Gee;
public class Rygel.HTTPServer : GLib.Object, Rygel.StateMachine {
public string path_root { get; private set; }
+ public string server_name { get; set; }
// Reference to root container of associated ContentDirectory
public MediaContainer root_container;
@@ -41,10 +42,23 @@ public class Rygel.HTTPServer : GLib.Object, Rygel.StateMachine {
public Cancellable cancellable { get; set; }
+ private const string SERVER_TEMPLATE = "%s/%s %s/%s DLNA/1.51 UPnP/1.0";
+
public HTTPServer (ContentDirectory content_dir,
string name) {
base ();
+ try {
+ var config = MetaConfig.get_default ();
+ this.server_name = config.get_string (name, "server-name");
+ } catch (Error error) {
+ this.server_name = SERVER_TEMPLATE.printf
+ (name,
+ BuildConfig.PACKAGE_VERSION,
+ Environment.get_prgname (),
+ BuildConfig.PACKAGE_VERSION);
+ }
+
this.root_container = content_dir.root_container;
this.context = content_dir.context;
this.requests = new ArrayList<HTTPRequest> ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]