 	var sha1: [UInt8] {
 		let bytes = UnsafeMutablePointer<UInt8>.allocate(capacity:  Int(SHA_DIGEST_LENGTH))
 		defer { bytes.deallocate(capacity: Int(SHA_DIGEST_LENGTH)) }
-		
+
 		SHA1(Array<UInt8>(self), (self.count), bytes)
-		
+
 		var r = [UInt8]()
 		for idx in 0..<Int(SHA_DIGEST_LENGTH) {
 			r.append(bytes[idx])

				response.appendBody(bytes: bytes)
				response.push {
					ok in
					
					if !ok || thisRead == remaining {
						// done
						completion(ok)

            let range = ranges[0]
            let rangeCount = range.count
            let contentType = MimeType.forExtension(file.path.pathExtension)

            response.status = .partialContent
            response.addHeader(.contentLength, value: "\(rangeCount)")
            response.addHeader(.contentType, value: contentType)
            response.addHeader(.contentRange, value: "bytes \(range.lowerBound)-\(range.upperBound-1)/\(size)")

            if case .head = request.method {
                return response.completed()
            }

            file.marker = range.lowerBound
			// send out headers
			response.push { ok in
