Add user agent for proxied requests.

pull/2/head
Matthew Chen 6 years ago
parent 1b52275297
commit 20d22f6395

@ -657,6 +657,8 @@ open class ProxiedContentDownloader: NSObject, URLSessionTaskDelegate, URLSessio
return
}
let userAgent = "Signal iOS (+https://signal.org/download)"
if assetRequest.state == .waiting {
// If asset request hasn't yet determined the resource size,
// try to do so now, by requesting a small initial segment.
@ -669,6 +671,7 @@ open class ProxiedContentDownloader: NSObject, URLSessionTaskDelegate, URLSessio
request.httpShouldUsePipelining = true
let rangeHeaderValue = "bytes=\(segmentStart)-\(segmentStart + segmentLength - 1)"
request.addValue(rangeHeaderValue, forHTTPHeaderField: "Range")
request.addValue(userAgent, forHTTPHeaderField: "User-Agent")
padRequestSize(request: &request)
let task = downloadSession.dataTask(with: request, completionHandler: { data, response, error -> Void in
self.handleAssetSizeResponse(assetRequest: assetRequest, data: data, response: response, error: error)
@ -689,6 +692,7 @@ open class ProxiedContentDownloader: NSObject, URLSessionTaskDelegate, URLSessio
request.httpShouldUsePipelining = true
let rangeHeaderValue = "bytes=\(assetSegment.segmentStart)-\(assetSegment.segmentStart + assetSegment.segmentLength - 1)"
request.addValue(rangeHeaderValue, forHTTPHeaderField: "Range")
request.addValue(userAgent, forHTTPHeaderField: "User-Agent")
padRequestSize(request: &request)
let task: URLSessionDataTask = downloadSession.dataTask(with: request)
task.assetRequest = assetRequest
@ -740,7 +744,7 @@ open class ProxiedContentDownloader: NSObject, URLSessionTaskDelegate, URLSessio
result += percentEncodedQuery.count
}
if let allHTTPHeaderFields = request.allHTTPHeaderFields {
if allHTTPHeaderFields.count != 1 {
if allHTTPHeaderFields.count != 2 {
owsFailDebug("Request has unexpected number of headers.")
}
for (key, value) in allHTTPHeaderFields {

Loading…
Cancel
Save