limit size of note

This commit is contained in:
cupcakearmy 2021-05-02 14:41:08 +02:00
parent 5c95f0be42
commit 3692d0a2e6
No known key found for this signature in database
GPG Key ID: D28129AE5654D9D9
4 changed files with 14 additions and 3 deletions

View File

@ -7,7 +7,6 @@
let html = null
onMount(async () => {
console.log(src)
html = await fetch(src).then((res) => res.text())
})
</script>

View File

@ -18,8 +18,9 @@
let result: { password: string; id: string } | null = null
let advanced = false
let type = false
let loading = false
let message = ''
let loading = false
let error: string | null = null
$: if (!advanced) {
note.views = 1
@ -34,6 +35,7 @@
async function submit() {
try {
error = null
loading = true
const data: Note = {
contents: note.contents,
@ -53,6 +55,8 @@
password: password,
id: response.id,
}
} catch {
error = 'could not create note.'
} finally {
loading = false
}
@ -81,6 +85,10 @@
<Button type="submit">create</Button>
</div>
{#if error}
<div class="error-text">{error}</div>
{/if}
<p><br />{message}</p>
<div class="advanced" class:hidden={!advanced}>

View File

@ -37,7 +37,8 @@
the backend is written in rust and the frontend is svelte and typescript.
<br />
you are welcomed to check & audit the
<a href="https://github.com/cupcakearmy/cryptgeon">source code</a>.
<a href="https://github.com/cupcakearmy/cryptgeon" target="_blank" rel="noopener">source code</a
>.
</p>
<p>

View File

@ -41,6 +41,9 @@ async fn create(note: web::Json<Note>) -> impl Responder {
let mut n = note.into_inner();
let id = generate_id();
let bad_req = HttpResponse::BadRequest().finish();
if n.contents.chars().count() > 8192 {
return bad_req;
}
if n.views == None && n.expiration == None {
return bad_req;
}