Merge pull request #45 from nadinengland/feature/41-ios-partial-content-support

Adds support to iOS for serving partial content (videos)
This commit is contained in:
Michael Bykovski 2019-10-23 19:58:33 +02:00 committed by GitHub
commit 43aaf57776
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -31,12 +31,16 @@
] ]
} }
func fileRequest(path: String) -> GCDWebServerResponse { func fileRequest(request: GCDWebServerRequest, path: String) -> GCDWebServerResponse {
// Check if file exists, given its path // Check if file exists, given its path
if !(FileManager.default.fileExists(atPath: path)) { if !(FileManager.default.fileExists(atPath: path)) {
return GCDWebServerResponse(statusCode: 404); return GCDWebServerResponse(statusCode: 404);
} }
if (request.hasByteRange()) {
return GCDWebServerFileResponse(file: path, byteRange: request.byteRange)!
}
return GCDWebServerFileResponse(file: path)! return GCDWebServerFileResponse(file: path)!
} }
@ -68,7 +72,7 @@
// Check if a file path is provided else use regular data response // Check if a file path is provided else use regular data response
let response = responseDict["path"] != nil let response = responseDict["path"] != nil
? fileRequest(path: responseDict["path"] as! String) ? fileRequest(request: request, path: responseDict["path"] as! String)
: GCDWebServerDataResponse(text: responseDict["body"] as! String) : GCDWebServerDataResponse(text: responseDict["body"] as! String)
if responseDict["status"] != nil { if responseDict["status"] != nil {