Adds support to iOS for serving partial content (videos)

This commit is contained in:
Thomas Nadin 2019-09-26 10:39:51 +01:00
parent 64f3e3a2be
commit c509f3d872

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 {