From 1019ea1ed341e3a7769c046aa0be5764789360b6 Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 2 Jun 2024 14:38:13 +0200 Subject: Migrate to Rust and Hyper With sanic, downloading a file locally is around ten times slower than with Rust and hyper. Maybe `pypy` could have helped, but I didn’t succeed to set it up quickly with the dependencies. --- static/main.css | 71 --------------------------------------------------------- static/main.js | 48 -------------------------------------- 2 files changed, 119 deletions(-) delete mode 100644 static/main.css delete mode 100644 static/main.js (limited to 'static') diff --git a/static/main.css b/static/main.css deleted file mode 100644 index db9a678..0000000 --- a/static/main.css +++ /dev/null @@ -1,71 +0,0 @@ -html { - margin: 0 1rem; -} - -body { - max-width: 30rem; - margin: 0 auto; - font-family: sans-serif; -} - -a { - text-decoration: none; - color: #06C; -} - -h1 { - text-align: center; - font-variant: small-caps; - font-size: 40px; - letter-spacing: 0.2rem; - margin-bottom: 4rem; -} - -.g-Link { - text-decoration: underline; -} - -label { - display: flex; - gap: 0.5rem; - flex-direction: column; - margin-bottom: 2rem; -} - -input[type=submit] { - width: 100%; -} - -.g-Loading { - display: none; - align-items: center; - justify-content: center; - gap: 1rem; - margin-bottom: 2rem; -} - -.g-Error { - text-align: center; - margin-bottom: 2rem; - color: #C00; -} - -.g-Spinner { - width: 25px; - height: 25px; - border: 4px solid #06C; - border-bottom-color: transparent; - border-radius: 50%; - display: inline-block; - box-sizing: border-box; - animation: rotation 1s linear infinite; -} - -@keyframes rotation { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} diff --git a/static/main.js b/static/main.js deleted file mode 100644 index 1729d38..0000000 --- a/static/main.js +++ /dev/null @@ -1,48 +0,0 @@ -window.onload = function() { - const form = document.querySelector('form') - - if (form !== null) { - const submit = document.querySelector('input[type="submit"]') - const loading = document.querySelector('.g-Loading') - const error = document.querySelector('.g-Error') - - function showError(msg) { - loading.style.display = 'none' - submit.disabled = false - error.innerText = msg - error.style.display = 'block' - } - - form.onsubmit = function(event) { - event.preventDefault() - - loading.style.display = 'flex' - submit.disabled = true - error.style.display = 'none' - - const key = document.querySelector('input[name="key"]').value - const expiration = document.querySelector('select[name="expiration"]').value - const file = document.querySelector('input[name="file"]').files[0] - - // Wait a bit to prevent showing the loader too briefly - setTimeout(function() { - const xhr = new XMLHttpRequest() - xhr.open('POST', '/', true) - xhr.onload = function () { - if (xhr.status === 200) { - window.location = `/${xhr.responseText}` - } else { - showError(`Error uploading: ${xhr.status}`) - } - } - xhr.onerror = function () { - showError('Upload error') - } - xhr.setRequestHeader('X-FileName', file.name) - xhr.setRequestHeader('X-Expiration', expiration) - xhr.setRequestHeader('X-Key', key) - xhr.send(file) - }, 500) - } - } -} -- cgit v1.2.3