summaryrefslogtreecommitdiff
path: root/api/serve.go
diff options
context:
space:
mode:
authorElizabeth <elizabeth@simponic.xyz>2024-04-03 14:27:55 -0600
committerElizabeth <elizabeth@simponic.xyz>2024-04-03 14:27:55 -0600
commitcc33a90bfd455f36169b01b0cca064cd35e2524f (patch)
treef5c061592caedddf767afe7a8b581000e0c7e5ce /api/serve.go
parentc32ca84e8a1a87994d5233a2d51c640a368b88bc (diff)
downloadhatecomputers.club-cc33a90bfd455f36169b01b0cca064cd35e2524f.tar.gz
hatecomputers.club-cc33a90bfd455f36169b01b0cca064cd35e2524f.zip
abstract dns adapter
Diffstat (limited to 'api/serve.go')
-rw-r--r--api/serve.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/api/serve.go b/api/serve.go
index f71001d..1b632a1 100644
--- a/api/serve.go
+++ b/api/serve.go
@@ -7,6 +7,7 @@ import (
"net/http"
"time"
+ "git.hatecomputers.club/hatecomputers/hatecomputers.club/adapters/cloudflare"
"git.hatecomputers.club/hatecomputers/hatecomputers.club/args"
"git.hatecomputers.club/hatecomputers/hatecomputers.club/database"
"git.hatecomputers.club/hatecomputers/hatecomputers.club/utils"
@@ -80,6 +81,11 @@ func MakeServer(argv *args.Arguments, dbConn *sql.DB) *http.Server {
fileServer := http.FileServer(http.Dir(argv.StaticPath))
mux.Handle("GET /static/", http.StripPrefix("/static/", CacheControlMiddleware(fileServer, 3600)))
+ cloudflareAdapter := &cloudflare.CloudflareExternalDNSAdapter{
+ APIToken: argv.CloudflareToken,
+ ZoneId: argv.CloudflareZone,
+ }
+
makeRequestContext := func() *RequestContext {
return &RequestContext{
DBConn: dbConn,
@@ -126,12 +132,12 @@ func MakeServer(argv *args.Arguments, dbConn *sql.DB) *http.Server {
mux.HandleFunc("POST /dns", func(w http.ResponseWriter, r *http.Request) {
requestContext := makeRequestContext()
- LogRequestContinuation(requestContext, r, w)(VerifySessionContinuation, FailurePassingContinuation)(ListDNSRecordsContinuation, GoLoginContinuation)(CreateDNSRecordContinuation, FailurePassingContinuation)(TemplateContinuation("dns.html", true), TemplateContinuation("dns.html", true))(LogExecutionTimeContinuation, LogExecutionTimeContinuation)(IdContinuation, IdContinuation)
+ LogRequestContinuation(requestContext, r, w)(VerifySessionContinuation, FailurePassingContinuation)(ListDNSRecordsContinuation, GoLoginContinuation)(CreateDNSRecordContinuation(cloudflareAdapter), FailurePassingContinuation)(TemplateContinuation("dns.html", true), TemplateContinuation("dns.html", true))(LogExecutionTimeContinuation, LogExecutionTimeContinuation)(IdContinuation, IdContinuation)
})
mux.HandleFunc("POST /dns/delete", func(w http.ResponseWriter, r *http.Request) {
requestContext := makeRequestContext()
- LogRequestContinuation(requestContext, r, w)(VerifySessionContinuation, FailurePassingContinuation)(DeleteDNSRecordContinuation, GoLoginContinuation)(LogExecutionTimeContinuation, LogExecutionTimeContinuation)(IdContinuation, IdContinuation)
+ LogRequestContinuation(requestContext, r, w)(VerifySessionContinuation, FailurePassingContinuation)(DeleteDNSRecordContinuation(cloudflareAdapter), GoLoginContinuation)(LogExecutionTimeContinuation, LogExecutionTimeContinuation)(IdContinuation, IdContinuation)
})
mux.HandleFunc("GET /keys", func(w http.ResponseWriter, r *http.Request) {