From 1f91be988bbc0ad01ac2cf5df496ce7e6a90ea32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Mon, 8 Dec 2014 10:56:00 +0100 Subject: add user agent header fixes #628 --- platform/darwin/http_request_baton_cocoa.mm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'platform/darwin') diff --git a/platform/darwin/http_request_baton_cocoa.mm b/platform/darwin/http_request_baton_cocoa.mm index 1c256d0ba8..4030138970 100644 --- a/platform/darwin/http_request_baton_cocoa.mm +++ b/platform/darwin/http_request_baton_cocoa.mm @@ -2,6 +2,7 @@ #include #include #include +#include #include @@ -40,6 +41,8 @@ void HTTPRequestBaton::start(const util::ptr &ptr) { } } + [request addValue:@(util::userAgent) forHTTPHeaderField:@"User-Agent"]; + NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *res, NSError *error) { if (error) { -- cgit v1.2.1 From e11c073e518139ca1729ea1e4a76c215b9abca53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Mon, 8 Dec 2014 16:21:15 +0100 Subject: report version number in user agent string refs #628 --- platform/darwin/http_request_baton_cocoa.mm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'platform/darwin') diff --git a/platform/darwin/http_request_baton_cocoa.mm b/platform/darwin/http_request_baton_cocoa.mm index 4030138970..50032b1e36 100644 --- a/platform/darwin/http_request_baton_cocoa.mm +++ b/platform/darwin/http_request_baton_cocoa.mm @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include @@ -15,6 +15,8 @@ namespace mbgl { dispatch_once_t request_initialize = 0; NSURLSession *session = nullptr; +NSString *userAgent = nil; + void HTTPRequestBaton::start(const util::ptr &ptr) { assert(std::this_thread::get_id() == ptr->thread_id); @@ -29,6 +31,14 @@ void HTTPRequestBaton::start(const util::ptr &ptr) { sessionConfig.URLCache = nil; session = [NSURLSession sessionWithConfiguration:sessionConfig]; + + // Write user agent string + NSDictionary *systemVersion = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/CoreServices/SystemVersion.plist"]; + userAgent = [NSString stringWithFormat:@"MapboxGL/%d.%d.%d (+https://mapbox.com/mapbox-gl/; %s; %@ %@)", + version::major, version::minor, version::patch, version::revision, + [systemVersion objectForKey:@"ProductName"], + [systemVersion objectForKey:@"ProductVersion"] + ]; }); NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@(baton->path.c_str())]]; @@ -41,7 +51,7 @@ void HTTPRequestBaton::start(const util::ptr &ptr) { } } - [request addValue:@(util::userAgent) forHTTPHeaderField:@"User-Agent"]; + [request addValue:userAgent forHTTPHeaderField:@"User-Agent"]; NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *res, NSError *error) { -- cgit v1.2.1