forked from vieter-v/vieter
Added x-api-key auth support
parent
a43ebfeaf0
commit
2663cf3dae
|
@ -0,0 +1,11 @@
|
|||
module main
|
||||
|
||||
import net.http
|
||||
|
||||
fn (mut app App) is_authorized() bool {
|
||||
x_header := app.req.header.get_custom('X-Api-Key', http.HeaderQueryConfig{ exact: true }) or {
|
||||
return false
|
||||
}
|
||||
|
||||
return x_header.trim_space() == app.api_key
|
||||
}
|
|
@ -38,6 +38,10 @@ fn (mut app App) get_root(filename string) web.Result {
|
|||
|
||||
['/pkgs/:pkg'; put]
|
||||
fn (mut app App) put_package(pkg string) web.Result {
|
||||
if !app.is_authorized() {
|
||||
return app.text('Unauthorized.')
|
||||
}
|
||||
|
||||
if !is_pkg_name(pkg) {
|
||||
app.lwarn("Invalid package name '$pkg'.")
|
||||
|
||||
|
|
Loading…
Reference in New Issue