This repository has been archived by the owner on Oct 29, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdonate.html
33 lines (33 loc) · 37.9 KB
/
donate.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="VuePress 2.0.0-beta.53">
<style>
:root {
--c-bg: #fff;
}
html.dark {
--c-bg: #22272e;
}
html, body {
background-color: var(--c-bg);
}
</style>
<script>
const userMode = localStorage.getItem('vuepress-color-scheme');
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
document.documentElement.classList.toggle('dark', true);
}
</script>
<link rel="icon" type="image/png" sizes="16x16" href="/images/icons/favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/icons/favicon-32x32.png"><link rel="manifest" href="/manifest.webmanifest"><meta name="application-name" content="VuePress"><meta name="apple-mobile-web-app-title" content="VuePress"><meta name="apple-mobile-web-app-status-bar-style" content="black"><link rel="apple-touch-icon" href="/images/icons/apple-touch-icon.png"><link rel="mask-icon" href="/images/icons/safari-pinned-tab.svg" color="#3eaf7c"><meta name="msapplication-TileColor" content="#3eaf7c"><meta name="theme-color" content="#3eaf7c"><title>Donate Project | Salvo</title><meta name="description" content="Salvo is a powerful and simplest web server framework in Rust world">
<link rel="preload" href="/assets/style.0d909b9e.css" as="style" /><link rel="stylesheet" href="/assets/style.0d909b9e.css" />
<link rel="modulepreload" href="/assets/app.3f2e9511.js"><link rel="modulepreload" href="/assets/donate.html.3f24ef6b.js"><link rel="modulepreload" href="/assets/donate.html.167e670d.js"><link rel="prefetch" href="/assets/index.html.03a81ed3.js" as="script" /><link rel="prefetch" href="/assets/index.html.ef7487b6.js" as="script" /><link rel="prefetch" href="/assets/guide.html.eb7521b3.js" as="script" /><link rel="prefetch" href="/assets/index.html.57da109f.js" as="script" /><link rel="prefetch" href="/assets/donate.html.27fa3c65.js" as="script" /><link rel="prefetch" href="/assets/catcher.html.8de89355.js" as="script" /><link rel="prefetch" href="/assets/depot.html.ffa207bf.js" as="script" /><link rel="prefetch" href="/assets/handler.html.076016b3.js" as="script" /><link rel="prefetch" href="/assets/named-file.html.7b56fd97.js" as="script" /><link rel="prefetch" href="/assets/request.html.2a45957e.js" as="script" /><link rel="prefetch" href="/assets/response.html.e5f6558d.js" as="script" /><link rel="prefetch" href="/assets/router.html.3b43eba0.js" as="script" /><link rel="prefetch" href="/assets/testing.html.9c51ce16.js" as="script" /><link rel="prefetch" href="/assets/writer.html.24107c0c.js" as="script" /><link rel="prefetch" href="/assets/deploy.html.b05146ac.js" as="script" /><link rel="prefetch" href="/assets/graceful-shutdown.html.a9b2f1e4.js" as="script" /><link rel="prefetch" href="/assets/serve-file-download.html.322a56e1.js" as="script" /><link rel="prefetch" href="/assets/affix.html.88bbae12.js" as="script" /><link rel="prefetch" href="/assets/basic-auth.html.52647c24.js" as="script" /><link rel="prefetch" href="/assets/cache.html.c49e8486.js" as="script" /><link rel="prefetch" href="/assets/caching-headers.html.dd30b4ce.js" as="script" /><link rel="prefetch" href="/assets/compression.html.0b675114.js" as="script" /><link rel="prefetch" href="/assets/cors.html.5097fd3d.js" as="script" /><link rel="prefetch" href="/assets/csrf.html.d99a56fd.js" as="script" /><link rel="prefetch" href="/assets/flash.html.9a765080.js" as="script" /><link rel="prefetch" href="/assets/force-https.html.6c14bba7.js" as="script" /><link rel="prefetch" href="/assets/jwt-auth.html.5194ea00.js" as="script" /><link rel="prefetch" href="/assets/logging.html.44e5b8fa.js" as="script" /><link rel="prefetch" href="/assets/proxy.html.d5443545.js" as="script" /><link rel="prefetch" href="/assets/rate-limiter.html.ee6d1722.js" as="script" /><link rel="prefetch" href="/assets/serve-static.html.cc4900d1.js" as="script" /><link rel="prefetch" href="/assets/session.html.0eff1086.js" as="script" /><link rel="prefetch" href="/assets/size-limiter.html.faeb85c0.js" as="script" /><link rel="prefetch" href="/assets/sse.html.4a08f542.js" as="script" /><link rel="prefetch" href="/assets/timeout.html.c7de94f0.js" as="script" /><link rel="prefetch" href="/assets/trailing-slash.html.e86f104a.js" as="script" /><link rel="prefetch" href="/assets/ws.html.bcfcdcde.js" as="script" /><link rel="prefetch" href="/assets/file-upload.html.9b765bfa.js" as="script" /><link rel="prefetch" href="/assets/handle-error.html.b8d62ea5.js" as="script" /><link rel="prefetch" href="/assets/use-template-engine.html.a9792417.js" as="script" /><link rel="prefetch" href="/assets/working-with-database.html.36874b4b.js" as="script" /><link rel="prefetch" href="/assets/index.html.e89c3c62.js" as="script" /><link rel="prefetch" href="/assets/guide.html.733ec99f.js" as="script" /><link rel="prefetch" href="/assets/index.html.0a9e0171.js" as="script" /><link rel="prefetch" href="/assets/guide.html.0d6e85bd.js" as="script" /><link rel="prefetch" href="/assets/catcher.html.e2ee5061.js" as="script" /><link rel="prefetch" href="/assets/depot.html.1ca5ed7d.js" as="script" /><link rel="prefetch" href="/assets/handler.html.d45166aa.js" as="script" /><link rel="prefetch" href="/assets/named-file.html.7c200ef1.js" as="script" /><link rel="prefetch" href="/assets/request.html.75d9fde5.js" as="script" /><link rel="prefetch" href="/assets/response.html.c4195a1b.js" as="script" /><link rel="prefetch" href="/assets/router.html.c2a5de64.js" as="script" /><link rel="prefetch" href="/assets/testing.html.93582a98.js" as="script" /><link rel="prefetch" href="/assets/writer.html.6b203836.js" as="script" /><link rel="prefetch" href="/assets/_index.html.71a3590e.js" as="script" /><link rel="prefetch" href="/assets/deploy.html.03402b01.js" as="script" /><link rel="prefetch" href="/assets/graceful-shutdown.html.ed001fb7.js" as="script" /><link rel="prefetch" href="/assets/_index.html.35e1f863.js" as="script" /><link rel="prefetch" href="/assets/affix.html.b238eb6e.js" as="script" /><link rel="prefetch" href="/assets/basic-auth.html.204f815c.js" as="script" /><link rel="prefetch" href="/assets/cache.html.0d2d03af.js" as="script" /><link rel="prefetch" href="/assets/caching-headers.html.f64c6254.js" as="script" /><link rel="prefetch" href="/assets/compression.html.3ca9e4cf.js" as="script" /><link rel="prefetch" href="/assets/cors.html.76246068.js" as="script" /><link rel="prefetch" href="/assets/csrf.html.3f5f0bf8.js" as="script" /><link rel="prefetch" href="/assets/flash.html.1cc02bfb.js" as="script" /><link rel="prefetch" href="/assets/force-https.html.f8505b89.js" as="script" /><link rel="prefetch" href="/assets/jwt-auth.html.3af9777e.js" as="script" /><link rel="prefetch" href="/assets/logging.html.a408d7b6.js" as="script" /><link rel="prefetch" href="/assets/proxy.html.361e37d4.js" as="script" /><link rel="prefetch" href="/assets/rate-limiter.html.92db2c3e.js" as="script" /><link rel="prefetch" href="/assets/serve-static.html.64037969.js" as="script" /><link rel="prefetch" href="/assets/session.html.a01508ba.js" as="script" /><link rel="prefetch" href="/assets/size-limiter.html.76c8aa36.js" as="script" /><link rel="prefetch" href="/assets/sse.html.f69d91a4.js" as="script" /><link rel="prefetch" href="/assets/third-party.html.bc96b7f4.js" as="script" /><link rel="prefetch" href="/assets/timeout.html.67308645.js" as="script" /><link rel="prefetch" href="/assets/trailing-slash.html.6331161c.js" as="script" /><link rel="prefetch" href="/assets/ws.html.abb73f7d.js" as="script" /><link rel="prefetch" href="/assets/_index.html.318dd19d.js" as="script" /><link rel="prefetch" href="/assets/file-upload.html.181c527b.js" as="script" /><link rel="prefetch" href="/assets/handle-error.html.abda4ef6.js" as="script" /><link rel="prefetch" href="/assets/use-template-engine.html.513e70d0.js" as="script" /><link rel="prefetch" href="/assets/working-with-database.html.ff5f0298.js" as="script" /><link rel="prefetch" href="/assets/_index.html.03d7f61e.js" as="script" /><link rel="prefetch" href="/assets/catcher.html.3d182e75.js" as="script" /><link rel="prefetch" href="/assets/depot.html.24e98a6c.js" as="script" /><link rel="prefetch" href="/assets/handler.html.1d948127.js" as="script" /><link rel="prefetch" href="/assets/named-file.html.5d72dac2.js" as="script" /><link rel="prefetch" href="/assets/request.html.fa15c607.js" as="script" /><link rel="prefetch" href="/assets/response.html.c2d90011.js" as="script" /><link rel="prefetch" href="/assets/router.html.7e5cea55.js" as="script" /><link rel="prefetch" href="/assets/testing.html.2379c624.js" as="script" /><link rel="prefetch" href="/assets/writer.html.fd714753.js" as="script" /><link rel="prefetch" href="/assets/_index.html.cc5cd254.js" as="script" /><link rel="prefetch" href="/assets/deploy.html.c1b04f6e.js" as="script" /><link rel="prefetch" href="/assets/graceful-shutdown.html.036fb061.js" as="script" /><link rel="prefetch" href="/assets/_index.html.4702dc10.js" as="script" /><link rel="prefetch" href="/assets/hello_world.html.322554f7.js" as="script" /><link rel="prefetch" href="/assets/_index.html.d3c2fb6a.js" as="script" /><link rel="prefetch" href="/assets/affix.html.e4181d00.js" as="script" /><link rel="prefetch" href="/assets/basic-auth.html.5a2a9781.js" as="script" /><link rel="prefetch" href="/assets/cache.html.688212bf.js" as="script" /><link rel="prefetch" href="/assets/caching-headers.html.f04e04f3.js" as="script" /><link rel="prefetch" href="/assets/compression.html.4f83483a.js" as="script" /><link rel="prefetch" href="/assets/cors.html.b2821523.js" as="script" /><link rel="prefetch" href="/assets/csrf.html.f6692887.js" as="script" /><link rel="prefetch" href="/assets/flash.html.3462cd12.js" as="script" /><link rel="prefetch" href="/assets/force-https.html.f936e44e.js" as="script" /><link rel="prefetch" href="/assets/jwt-auth.html.c3dfcf84.js" as="script" /><link rel="prefetch" href="/assets/logging.html.9d5a67ba.js" as="script" /><link rel="prefetch" href="/assets/proxy.html.bf8be2e2.js" as="script" /><link rel="prefetch" href="/assets/rate-limiter.html.f3d034a7.js" as="script" /><link rel="prefetch" href="/assets/serve-static.html.2e00cc02.js" as="script" /><link rel="prefetch" href="/assets/session.html.c1014422.js" as="script" /><link rel="prefetch" href="/assets/size-limiter.html.6027dfc0.js" as="script" /><link rel="prefetch" href="/assets/sse.html.9f9035e4.js" as="script" /><link rel="prefetch" href="/assets/third-party.html.00e4fc99.js" as="script" /><link rel="prefetch" href="/assets/timeout.html.0997cf5a.js" as="script" /><link rel="prefetch" href="/assets/trailing-slash.html.85d17378.js" as="script" /><link rel="prefetch" href="/assets/ws.html.de8a9e87.js" as="script" /><link rel="prefetch" href="/assets/_index.html.741228a2.js" as="script" /><link rel="prefetch" href="/assets/file-upload.html.a76fa826.js" as="script" /><link rel="prefetch" href="/assets/handle-error.html.cef35c23.js" as="script" /><link rel="prefetch" href="/assets/use-template-engine.html.1fd1abb9.js" as="script" /><link rel="prefetch" href="/assets/working-with-database.html.f2d73c37.js" as="script" /><link rel="prefetch" href="/assets/404.html.98e87f94.js" as="script" /><link rel="prefetch" href="/assets/index.html.f3a26357.js" as="script" /><link rel="prefetch" href="/assets/index.html.31422e2d.js" as="script" /><link rel="prefetch" href="/assets/guide.html.f22779d8.js" as="script" /><link rel="prefetch" href="/assets/index.html.252e13dc.js" as="script" /><link rel="prefetch" href="/assets/donate.html.4a9d7342.js" as="script" /><link rel="prefetch" href="/assets/catcher.html.57ef7d8c.js" as="script" /><link rel="prefetch" href="/assets/depot.html.87878d84.js" as="script" /><link rel="prefetch" href="/assets/handler.html.858f5d72.js" as="script" /><link rel="prefetch" href="/assets/named-file.html.70cbb8b3.js" as="script" /><link rel="prefetch" href="/assets/request.html.8b15265d.js" as="script" /><link rel="prefetch" href="/assets/response.html.649ea9a2.js" as="script" /><link rel="prefetch" href="/assets/router.html.8bc37cd3.js" as="script" /><link rel="prefetch" href="/assets/testing.html.28f16ff3.js" as="script" /><link rel="prefetch" href="/assets/writer.html.84fe08d9.js" as="script" /><link rel="prefetch" href="/assets/deploy.html.c91a4f73.js" as="script" /><link rel="prefetch" href="/assets/graceful-shutdown.html.b1c64c14.js" as="script" /><link rel="prefetch" href="/assets/serve-file-download.html.2c5c34b4.js" as="script" /><link rel="prefetch" href="/assets/affix.html.927bca95.js" as="script" /><link rel="prefetch" href="/assets/basic-auth.html.e3510158.js" as="script" /><link rel="prefetch" href="/assets/cache.html.056ecb97.js" as="script" /><link rel="prefetch" href="/assets/caching-headers.html.fe1c8a41.js" as="script" /><link rel="prefetch" href="/assets/compression.html.d8092482.js" as="script" /><link rel="prefetch" href="/assets/cors.html.fdb822d8.js" as="script" /><link rel="prefetch" href="/assets/csrf.html.89ec8c6b.js" as="script" /><link rel="prefetch" href="/assets/flash.html.e422334a.js" as="script" /><link rel="prefetch" href="/assets/force-https.html.784c16d9.js" as="script" /><link rel="prefetch" href="/assets/jwt-auth.html.56ed2d56.js" as="script" /><link rel="prefetch" href="/assets/logging.html.afe9b06e.js" as="script" /><link rel="prefetch" href="/assets/proxy.html.c3359dc6.js" as="script" /><link rel="prefetch" href="/assets/rate-limiter.html.200407be.js" as="script" /><link rel="prefetch" href="/assets/serve-static.html.1cd2a95c.js" as="script" /><link rel="prefetch" href="/assets/session.html.0776f353.js" as="script" /><link rel="prefetch" href="/assets/size-limiter.html.3ba408e9.js" as="script" /><link rel="prefetch" href="/assets/sse.html.cabf828b.js" as="script" /><link rel="prefetch" href="/assets/timeout.html.3ef0c411.js" as="script" /><link rel="prefetch" href="/assets/trailing-slash.html.a3c94f3c.js" as="script" /><link rel="prefetch" href="/assets/ws.html.4786918c.js" as="script" /><link rel="prefetch" href="/assets/file-upload.html.85b661f6.js" as="script" /><link rel="prefetch" href="/assets/handle-error.html.11b9b10d.js" as="script" /><link rel="prefetch" href="/assets/use-template-engine.html.66558d33.js" as="script" /><link rel="prefetch" href="/assets/working-with-database.html.b0c74bcd.js" as="script" /><link rel="prefetch" href="/assets/index.html.e636a116.js" as="script" /><link rel="prefetch" href="/assets/guide.html.b11197fd.js" as="script" /><link rel="prefetch" href="/assets/index.html.d182676e.js" as="script" /><link rel="prefetch" href="/assets/guide.html.c428c8b6.js" as="script" /><link rel="prefetch" href="/assets/catcher.html.45e14d40.js" as="script" /><link rel="prefetch" href="/assets/depot.html.7b210886.js" as="script" /><link rel="prefetch" href="/assets/handler.html.7847c345.js" as="script" /><link rel="prefetch" href="/assets/named-file.html.27303a22.js" as="script" /><link rel="prefetch" href="/assets/request.html.49489b31.js" as="script" /><link rel="prefetch" href="/assets/response.html.651b4c03.js" as="script" /><link rel="prefetch" href="/assets/router.html.6beab99c.js" as="script" /><link rel="prefetch" href="/assets/testing.html.b73ee1b1.js" as="script" /><link rel="prefetch" href="/assets/writer.html.6c334818.js" as="script" /><link rel="prefetch" href="/assets/_index.html.155ea707.js" as="script" /><link rel="prefetch" href="/assets/deploy.html.e18858cf.js" as="script" /><link rel="prefetch" href="/assets/graceful-shutdown.html.7b2d474f.js" as="script" /><link rel="prefetch" href="/assets/_index.html.66d51d96.js" as="script" /><link rel="prefetch" href="/assets/affix.html.8637647a.js" as="script" /><link rel="prefetch" href="/assets/basic-auth.html.7a4a3076.js" as="script" /><link rel="prefetch" href="/assets/cache.html.e07a0187.js" as="script" /><link rel="prefetch" href="/assets/caching-headers.html.950cf48c.js" as="script" /><link rel="prefetch" href="/assets/compression.html.4faaea43.js" as="script" /><link rel="prefetch" href="/assets/cors.html.6e56e05c.js" as="script" /><link rel="prefetch" href="/assets/csrf.html.0479b88b.js" as="script" /><link rel="prefetch" href="/assets/flash.html.b0187af4.js" as="script" /><link rel="prefetch" href="/assets/force-https.html.4dc7798b.js" as="script" /><link rel="prefetch" href="/assets/jwt-auth.html.2765559f.js" as="script" /><link rel="prefetch" href="/assets/logging.html.2444b833.js" as="script" /><link rel="prefetch" href="/assets/proxy.html.3667728e.js" as="script" /><link rel="prefetch" href="/assets/rate-limiter.html.3080b74e.js" as="script" /><link rel="prefetch" href="/assets/serve-static.html.13688ddc.js" as="script" /><link rel="prefetch" href="/assets/session.html.4e4a6d61.js" as="script" /><link rel="prefetch" href="/assets/size-limiter.html.e3330a17.js" as="script" /><link rel="prefetch" href="/assets/sse.html.0a0670b1.js" as="script" /><link rel="prefetch" href="/assets/third-party.html.9056bac6.js" as="script" /><link rel="prefetch" href="/assets/timeout.html.8869a5a8.js" as="script" /><link rel="prefetch" href="/assets/trailing-slash.html.fff20ef4.js" as="script" /><link rel="prefetch" href="/assets/ws.html.311e5374.js" as="script" /><link rel="prefetch" href="/assets/_index.html.28265731.js" as="script" /><link rel="prefetch" href="/assets/file-upload.html.85e7a0fc.js" as="script" /><link rel="prefetch" href="/assets/handle-error.html.72ba2c28.js" as="script" /><link rel="prefetch" href="/assets/use-template-engine.html.086de07d.js" as="script" /><link rel="prefetch" href="/assets/working-with-database.html.7a3ef4a9.js" as="script" /><link rel="prefetch" href="/assets/_index.html.8f4a1364.js" as="script" /><link rel="prefetch" href="/assets/catcher.html.f48b5396.js" as="script" /><link rel="prefetch" href="/assets/depot.html.19b24cbf.js" as="script" /><link rel="prefetch" href="/assets/handler.html.c03c50c6.js" as="script" /><link rel="prefetch" href="/assets/named-file.html.b1b1c34e.js" as="script" /><link rel="prefetch" href="/assets/request.html.fa95c5b1.js" as="script" /><link rel="prefetch" href="/assets/response.html.aed6499e.js" as="script" /><link rel="prefetch" href="/assets/router.html.06d9bcfd.js" as="script" /><link rel="prefetch" href="/assets/testing.html.0a2c0a1e.js" as="script" /><link rel="prefetch" href="/assets/writer.html.6526fb5a.js" as="script" /><link rel="prefetch" href="/assets/_index.html.88ef2bc5.js" as="script" /><link rel="prefetch" href="/assets/deploy.html.dcd617cc.js" as="script" /><link rel="prefetch" href="/assets/graceful-shutdown.html.3d1b3458.js" as="script" /><link rel="prefetch" href="/assets/_index.html.7a42a338.js" as="script" /><link rel="prefetch" href="/assets/hello_world.html.5cb09752.js" as="script" /><link rel="prefetch" href="/assets/_index.html.0ff6aae3.js" as="script" /><link rel="prefetch" href="/assets/affix.html.e0ee2443.js" as="script" /><link rel="prefetch" href="/assets/basic-auth.html.b5d05dfa.js" as="script" /><link rel="prefetch" href="/assets/cache.html.5108c040.js" as="script" /><link rel="prefetch" href="/assets/caching-headers.html.b5ed90d1.js" as="script" /><link rel="prefetch" href="/assets/compression.html.81adcc76.js" as="script" /><link rel="prefetch" href="/assets/cors.html.f9a207db.js" as="script" /><link rel="prefetch" href="/assets/csrf.html.f6ef61af.js" as="script" /><link rel="prefetch" href="/assets/flash.html.2f87a0b6.js" as="script" /><link rel="prefetch" href="/assets/force-https.html.3faaa044.js" as="script" /><link rel="prefetch" href="/assets/jwt-auth.html.56312656.js" as="script" /><link rel="prefetch" href="/assets/logging.html.bf82edc8.js" as="script" /><link rel="prefetch" href="/assets/proxy.html.aca1cce7.js" as="script" /><link rel="prefetch" href="/assets/rate-limiter.html.21ee8da9.js" as="script" /><link rel="prefetch" href="/assets/serve-static.html.154a6b22.js" as="script" /><link rel="prefetch" href="/assets/session.html.1e4fc298.js" as="script" /><link rel="prefetch" href="/assets/size-limiter.html.c4748311.js" as="script" /><link rel="prefetch" href="/assets/sse.html.69b18d66.js" as="script" /><link rel="prefetch" href="/assets/third-party.html.7c33d019.js" as="script" /><link rel="prefetch" href="/assets/timeout.html.c1a31739.js" as="script" /><link rel="prefetch" href="/assets/trailing-slash.html.cea14d62.js" as="script" /><link rel="prefetch" href="/assets/ws.html.16cf5998.js" as="script" /><link rel="prefetch" href="/assets/_index.html.d7dcd37e.js" as="script" /><link rel="prefetch" href="/assets/file-upload.html.17e6b2c1.js" as="script" /><link rel="prefetch" href="/assets/handle-error.html.b71e99f3.js" as="script" /><link rel="prefetch" href="/assets/use-template-engine.html.19f4f768.js" as="script" /><link rel="prefetch" href="/assets/working-with-database.html.ebdac1f5.js" as="script" /><link rel="prefetch" href="/assets/404.html.16811621.js" as="script" /><link rel="prefetch" href="/assets/NpmBadge.04062fae.js" as="script" />
</head>
<body>
<div id="app"><!--[--><div class="theme-container no-sidebar"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/" class=""><img class="logo" src="/images/logo-text-h.svg" alt="Salvo"><span class="site-name can-hide">Salvo</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><a href="/book/" class="" aria-label="Book"><!--[--><!--]--> Book <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Middlewares"><span class="title">Middlewares</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Middlewares"><span class="title">Middlewares</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Common Features</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/affix.html" class="" aria-label="Affix"><!--[--><!--]--> Affix <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/compression.html" class="" aria-label="Compression"><!--[--><!--]--> Compression <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/flash.html" class="" aria-label="Flash"><!--[--><!--]--> Flash <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/force-https.html" class="" aria-label="Force HTTPS"><!--[--><!--]--> Force HTTPS <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/logging.html" class="" aria-label="Logging"><!--[--><!--]--> Logging <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/proxy.html" class="" aria-label="Proxy"><!--[--><!--]--> Proxy <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/serve-static.html" class="" aria-label="Serve Static"><!--[--><!--]--> Serve Static <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/session.html" class="" aria-label="Session"><!--[--><!--]--> Session <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/sse.html" class="" aria-label="SSE"><!--[--><!--]--> SSE <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/timeout.html" class="" aria-label="Timeout"><!--[--><!--]--> Timeout <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/trailing-slash.html" class="" aria-label="Trailing Slash"><!--[--><!--]--> Trailing Slash <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/ws.html" class="" aria-label="WebSocket"><!--[--><!--]--> WebSocket <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Authentication</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/basic-auth.html" class="" aria-label="Basic Auth"><!--[--><!--]--> Basic Auth <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/jwt-auth.html" class="" aria-label="JWT Auth"><!--[--><!--]--> JWT Auth <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Security</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/cors.html" class="" aria-label="CORS"><!--[--><!--]--> CORS <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/csrf.html" class="" aria-label="CSRF"><!--[--><!--]--> CSRF <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/rate-limiter.html" class="" aria-label="Rate Limiter"><!--[--><!--]--> Rate Limiter <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Caching</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/cache.html" class="" aria-label="Cache"><!--[--><!--]--> Cache <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/caching-headers.html" class="" aria-label="Caching Headers"><!--[--><!--]--> Caching Headers <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-item"><a href="/donate.md" class="" aria-label="Donate"><!--[--><!--]--> Donate <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><span class="title">Languages</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><span class="title">Languages</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a aria-current="page" href="/donate.html" class="router-link-active router-link-exact-active router-link-active" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/zh-hans/donate.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/salvo-rs/salvo" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-color-mode-button" title="toggle color mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><div id="docsearch-container"></div></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-items"><!--[--><div class="navbar-item"><a href="/book/" class="" aria-label="Book"><!--[--><!--]--> Book <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Middlewares"><span class="title">Middlewares</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Middlewares"><span class="title">Middlewares</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Common Features</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/affix.html" class="" aria-label="Affix"><!--[--><!--]--> Affix <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/compression.html" class="" aria-label="Compression"><!--[--><!--]--> Compression <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/flash.html" class="" aria-label="Flash"><!--[--><!--]--> Flash <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/force-https.html" class="" aria-label="Force HTTPS"><!--[--><!--]--> Force HTTPS <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/logging.html" class="" aria-label="Logging"><!--[--><!--]--> Logging <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/proxy.html" class="" aria-label="Proxy"><!--[--><!--]--> Proxy <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/serve-static.html" class="" aria-label="Serve Static"><!--[--><!--]--> Serve Static <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/session.html" class="" aria-label="Session"><!--[--><!--]--> Session <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/sse.html" class="" aria-label="SSE"><!--[--><!--]--> SSE <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/timeout.html" class="" aria-label="Timeout"><!--[--><!--]--> Timeout <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/trailing-slash.html" class="" aria-label="Trailing Slash"><!--[--><!--]--> Trailing Slash <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/ws.html" class="" aria-label="WebSocket"><!--[--><!--]--> WebSocket <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Authentication</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/basic-auth.html" class="" aria-label="Basic Auth"><!--[--><!--]--> Basic Auth <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/jwt-auth.html" class="" aria-label="JWT Auth"><!--[--><!--]--> JWT Auth <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Security</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/cors.html" class="" aria-label="CORS"><!--[--><!--]--> CORS <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/csrf.html" class="" aria-label="CSRF"><!--[--><!--]--> CSRF <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/rate-limiter.html" class="" aria-label="Rate Limiter"><!--[--><!--]--> Rate Limiter <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><li class="navbar-dropdown-item"><!--[--><h4 class="navbar-dropdown-subtitle"><span>Caching</span></h4><ul class="navbar-dropdown-subitem-wrapper"><!--[--><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/cache.html" class="" aria-label="Cache"><!--[--><!--]--> Cache <!--[--><!--]--></a></li><li class="navbar-dropdown-subitem"><a href="/zh-hans/book/middlewares/caching-headers.html" class="" aria-label="Caching Headers"><!--[--><!--]--> Caching Headers <!--[--><!--]--></a></li><!--]--></ul><!--]--></li><!--]--></ul></div></div><div class="navbar-item"><a href="/donate.md" class="" aria-label="Donate"><!--[--><!--]--> Donate <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><span class="title">Languages</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><span class="title">Languages</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a aria-current="page" href="/donate.html" class="router-link-active router-link-exact-active router-link-active" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/zh-hans/donate.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/salvo-rs/salvo" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--> GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><!----><!--[--><!--]--></aside><!--]--><!--[--><main class="page"><!--[--><!--]--><div class="theme-default-content"><!--[--><!--]--><div><h1 id="donate-project" tabindex="-1"><a class="header-anchor" href="#donate-project" aria-hidden="true">#</a> Donate Project</h1><p>If we can meet, we are destined people. In the vast Internet, the probability that we can meet is smaller than the probability that we can come to this world. Fund this project and let me remember you, and let your dedication spur me when I am lazy, I move on and keep working hard to update the project. Making this project better and better.</p><p>You can transfer money directly through Alipay or WeChat or <a href="https://ko-fi.com/chrislearn" target="_blank" rel="noopener noreferrer"><strong>Please buy me a cup of coffee☕</strong><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>:</p><p style="text-align:center;"><img src="https://salvo.rs/images/alipay.png" alt="Alipay" width="180"> <img src="https://salvo.rs/images/weixin.png" alt="Weixin" width="180"></p></div><!--[--><!--]--></div><footer class="page-meta"><div class="meta-item edit-link"><a class="external-link meta-item-label" href="https://github.com/salvo-rs/salvo/edit/main/book/donate.md" rel="noopener noreferrer" target="_blank" aria-label="Edit this page on GitHub"><!--[--><!--]--> Edit this page on GitHub <span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><!----></div><div class="meta-item contributors"><span class="meta-item-label">Contributors: </span><span class="meta-item-info"><!--[--><!--[--><span class="contributor" title="email: [email protected]">Chrislearn Young</span><!----><!--]--><!--]--></span></div></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
<script type="module" src="/assets/app.3f2e9511.js" defer></script>
</body>
</html>