In order to use the
SharedArrayBuffer
object, the two
HTTP response headers Cross-Origin-Opener-Policy
and
Cross-Origin-Embedder-Policy
must be set to
same-origin
and
require-corp
.
If these header are not set or set to a different value, the following simple HTML page alerts the user that SharedArrayBuffer is not supported:
<script>
if (typeof(SharedArrayBuffer) === 'undefined') {
alert('SharedArrayBuffer is not supported');
}
else {
alert('SharedArrayBuffer IS supported');
}
</script>
The following script sets the two required headers so that the browser does support SharedArrayBuffer
:
from http.server import SimpleHTTPRequestHandler, ThreadingHTTPServer
class serveWithHeaders(SimpleHTTPRequestHandler):
def end_headers(self):
self.addHeaders()
SimpleHTTPRequestHandler.end_headers(self)
def addHeaders(self):
self.send_header('Cross-Origin-Opener-Policy', 'same-origin' )
self.send_header('Cross-Origin-Embedder-Policy', 'require-corp')
httpd = ThreadingHTTPServer( ('', 8000), serveWithHeaders)
httpd.serve_forever()