@schachte, thank you for your time. Your PHP code will certainly be a valuable resource for future developers.
Unfortunately, after building the image from your repository using Docker, I’ve encountered the same error with your implementation. As you suggested, here is the HAR file:
{
"log": {
"version": "1.2",
"creator": {
"name": "Firefox",
"version": "123.0.1"
},
"browser": {
"name": "Firefox",
"version": "123.0.1"
},
"pages": [
{
"id": "page_3",
"pageTimings": {
"onContentLoad": -1,
"onLoad": -1
},
"startedDateTime": "2024-03-15T17:57:43.905+01:00",
"title": "http://localhost:32775/"
}
],
"entries": [
{
"startedDateTime": "2024-03-15T17:57:43.905+01:00",
"request": {
"bodySize": 0,
"method": "POST",
"url": "http://localhost:32775/server/tus.php",
"httpVersion": "HTTP/1.1",
"headers": [
{
"name": "Host",
"value": "localhost:32775"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Tus-Resumable",
"value": "1.0.0"
},
{
"name": "Upload-Length",
"value": "4849792"
},
{
"name": "Upload-Metadata",
"value": "name VnRFZEMzRHAyaGtoNU51VmlMbVRUbktGUTR5NW5jRmlza1Q2VXFTTi5tcDQ=,filename VnRFZEMzRHAyaGtoNU51VmlMbVRUbktGUTR5NW5jRmlza1Q2VXFTTi5tcDQ=,filetype dmlkZW8vbXA0,maxDurationSeconds NjAw"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Cookie",
"value": "__stripe_mid=52df55fd-2872-43c6-848f-115117bb19c5f5608d"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "same-origin"
},
{
"name": "Content-Length",
"value": "0"
}
],
"cookies": [
{
"name": "__stripe_mid",
"value": "52df55fd-2872-43c6-848f-115117bb19c5f5608d"
}
],
"queryString": [],
"headersSize": 726
},
"response": {
"status": 200,
"statusText": "OK",
"httpVersion": "HTTP/1.1",
"headers": [
{
"name": "Date",
"value": "Fri, 15 Mar 2024 16:57:43 GMT"
},
{
"name": "Server",
"value": "Apache/2.4.56 (Debian)"
},
{
"name": "X-Powered-By",
"value": "PHP/8.0.30"
},
{
"name": "Content-Length",
"value": "0"
},
{
"name": "Connection",
"value": "keep-alive, Keep-Alive"
},
{
"name": "Location",
"value": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true"
},
{
"name": "CF-Ray",
"value": "864e0b55dac25e44-MAD"
},
{
"name": "CF-Cache-Status",
"value": "DYNAMIC"
},
{
"name": "Cache-Control",
"value": "no-store"
},
{
"name": "Set-Cookie",
"value": "__cfruid=fe1de31b320368dff601833a6505f3ff8e87bfb8-1710521866; path=/; domain=.api.cloudflare.com; HttpOnly; Secure; SameSite=None"
},
{
"name": "access-control-expose-headers",
"value": "Location"
},
{
"name": "stream-media-id",
"value": "0dcaf499696510da289e105d383f85fb"
},
{
"name": "tus-resumable",
"value": "1.0.0"
},
{
"name": "x-content-type-options",
"value": "nosniff"
},
{
"name": "Access-Control-Allow-Headers",
"value": "*"
},
{
"name": "Access-Control-Allow-Origin",
"value": "*"
},
{
"name": "Keep-Alive",
"value": "timeout=5, max=100"
},
{
"name": "Content-Type",
"value": "text/html; charset=UTF-8"
}
],
"cookies": [
{
"name": "__cfruid",
"value": "fe1de31b320368dff601833a6505f3ff8e87bfb8-1710521866"
}
],
"content": {
"mimeType": "text/html; charset=UTF-8",
"size": 0,
"text": ""
},
"redirectURL": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"headersSize": 769,
"bodySize": 769
},
"cache": {},
"timings": {
"blocked": 0,
"dns": 0,
"connect": 0,
"ssl": 0,
"send": 0,
"wait": 1570,
"receive": 0
},
"time": 1570,
"_securityState": "insecure",
"serverIPAddress": "127.0.0.1",
"connection": "32775",
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:45.500+01:00",
"request": {
"bodySize": 0,
"method": "OPTIONS",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Access-Control-Request-Method",
"value": "PATCH"
},
{
"name": "Access-Control-Request-Headers",
"value": "content-type,tus-resumable,upload-offset"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 552
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {
"mimeType": "",
"size": 0,
"encoding": "base64",
"text": ""
},
"redirectURL": "",
"headersSize": 0,
"bodySize": 0
},
"cache": {},
"timings": {
"blocked": 16,
"dns": 175,
"connect": 176,
"ssl": 192,
"send": 0,
"wait": 0,
"receive": 0
},
"time": 559,
"_securityState": "insecure",
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:45.708+01:00",
"request": {
"bodySize": 0,
"method": "OPTIONS",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Access-Control-Request-Method",
"value": "HEAD"
},
{
"name": "Access-Control-Request-Headers",
"value": "tus-resumable"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 524
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {
"mimeType": "",
"size": 0,
"encoding": "base64",
"text": ""
},
"redirectURL": "",
"headersSize": 0,
"bodySize": 0
},
"cache": {},
"timings": {
"blocked": 23,
"dns": 163,
"connect": 178,
"ssl": 178,
"send": 0,
"wait": 0,
"receive": 0
},
"time": 542,
"_securityState": "insecure",
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:45.713+01:00",
"request": {
"bodySize": 0,
"method": "PATCH",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Tus-Resumable",
"value": "1.0.0"
},
{
"name": "Upload-Offset",
"value": "0"
},
{
"name": "Content-Type",
"value": "application/offset+octet-stream"
},
{
"name": "Content-Length",
"value": "4849792"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 0
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {},
"redirectURL": "",
"headersSize": 0,
"bodySize": -1
},
"cache": {},
"timings": {},
"time": 0,
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:45.925+01:00",
"request": {
"bodySize": 0,
"method": "HEAD",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Tus-Resumable",
"value": "1.0.0"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 0
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {},
"redirectURL": "",
"headersSize": 0,
"bodySize": -1
},
"cache": {},
"timings": {},
"time": 0,
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:46.934+01:00",
"request": {
"bodySize": 0,
"method": "OPTIONS",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Access-Control-Request-Method",
"value": "HEAD"
},
{
"name": "Access-Control-Request-Headers",
"value": "tus-resumable"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 524
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {
"mimeType": "",
"size": 0,
"encoding": "base64",
"text": ""
},
"redirectURL": "",
"headersSize": 0,
"bodySize": 0
},
"cache": {},
"timings": {
"blocked": 31,
"dns": 187,
"connect": 202,
"ssl": 218,
"send": 0,
"wait": 0,
"receive": 0
},
"time": 638,
"_securityState": "insecure",
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:47.177+01:00",
"request": {
"bodySize": 0,
"method": "HEAD",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Tus-Resumable",
"value": "1.0.0"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 0
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {},
"redirectURL": "",
"headersSize": 0,
"bodySize": -1
},
"cache": {},
"timings": {},
"time": 0,
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:50.204+01:00",
"request": {
"bodySize": 0,
"method": "OPTIONS",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Access-Control-Request-Method",
"value": "HEAD"
},
{
"name": "Access-Control-Request-Headers",
"value": "tus-resumable"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 524
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {
"mimeType": "",
"size": 0,
"encoding": "base64",
"text": ""
},
"redirectURL": "",
"headersSize": 0,
"bodySize": 0
},
"cache": {},
"timings": {
"blocked": 16,
"dns": 195,
"connect": 195,
"ssl": 238,
"send": 0,
"wait": 0,
"receive": 0
},
"time": 644,
"_securityState": "insecure",
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:50.449+01:00",
"request": {
"bodySize": 0,
"method": "HEAD",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Tus-Resumable",
"value": "1.0.0"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 0
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {},
"redirectURL": "",
"headersSize": 0,
"bodySize": -1
},
"cache": {},
"timings": {},
"time": 0,
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:55.533+01:00",
"request": {
"bodySize": 0,
"method": "OPTIONS",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Access-Control-Request-Method",
"value": "HEAD"
},
{
"name": "Access-Control-Request-Headers",
"value": "tus-resumable"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 524
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {
"mimeType": "",
"size": 0,
"encoding": "base64",
"text": ""
},
"redirectURL": "",
"headersSize": 0,
"bodySize": 0
},
"cache": {},
"timings": {
"blocked": 21,
"dns": 147,
"connect": 163,
"ssl": 185,
"send": 0,
"wait": 0,
"receive": 0
},
"time": 516,
"_securityState": "insecure",
"pageref": "page_3"
},
{
"startedDateTime": "2024-03-15T17:57:55.735+01:00",
"request": {
"bodySize": 0,
"method": "HEAD",
"url": "https://upload.videodelivery.net/tus/0dcaf499696510da289e105d383f85fb?tusv2=true",
"httpVersion": "",
"headers": [
{
"name": "Host",
"value": "upload.videodelivery.net"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"
},
{
"name": "Accept",
"value": "*/*"
},
{
"name": "Accept-Language",
"value": "en-US,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Tus-Resumable",
"value": "1.0.0"
},
{
"name": "Origin",
"value": "http://localhost:32775"
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Referer",
"value": "http://localhost:32775/"
},
{
"name": "Sec-Fetch-Dest",
"value": "empty"
},
{
"name": "Sec-Fetch-Mode",
"value": "cors"
},
{
"name": "Sec-Fetch-Site",
"value": "cross-site"
}
],
"cookies": [],
"queryString": [
{
"name": "tusv2",
"value": "true"
}
],
"headersSize": 0
},
"response": {
"status": 0,
"statusText": "",
"httpVersion": "",
"headers": [],
"cookies": [],
"content": {},
"redirectURL": "",
"headersSize": 0,
"bodySize": -1
},
"cache": {},
"timings": {},
"time": 0,
"pageref": "page_3"
}
]
}
}
This confirms to me that the error is not related to our PHP backend or our own implementation. Despite not using any browser extensions, I’ve reproduced the error across all my installed browsers (Firefox, Chrome, Edge). Additionally, I’ve disabled the antivirus software (Kaspersky) to rule out any interference with the network, but the error persists.
Furthermore, I’ve generated a new API token using the ‘Read and write to Cloudflare Stream and Images’ template, but unfortunately, this hasn’t resolved the issue.