mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-04 18:31:41 +00:00
@@ -0,0 +1,50 @@
|
||||
//go:build js && wasm
|
||||
// +build js,wasm
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
wasmhttp "github.com/go-sonr/wasm-http-server/v3"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// Set up HTTP routes
|
||||
setupRoutes()
|
||||
|
||||
// Start the WASM HTTP server
|
||||
log.Println("Motor Payment Gateway & OIDC Server starting...")
|
||||
log.Println("Available endpoints:")
|
||||
log.Println(" Health: /health, /status")
|
||||
log.Println(" Payment API: /api/payment/*")
|
||||
log.Println(" OIDC: /.well-known/*, /authorize, /token, /userinfo")
|
||||
|
||||
wasmhttp.Serve(nil)
|
||||
}
|
||||
|
||||
// setupRoutes configures all HTTP routes with security middleware
|
||||
func setupRoutes() {
|
||||
// Health and status endpoints (no rate limiting)
|
||||
http.HandleFunc("/health", handleHealth)
|
||||
http.HandleFunc("/status", handleStatus)
|
||||
|
||||
// W3C Payment Handler API endpoints with security
|
||||
http.HandleFunc("/payment/instruments", SecurityMiddleware(handlePaymentInstruments))
|
||||
http.HandleFunc("/payment/canmakepayment", SecurityMiddleware(handleCanMakePayment))
|
||||
http.HandleFunc("/payment/paymentrequest", SecurityMiddleware(handlePaymentRequest))
|
||||
|
||||
// Payment Gateway endpoints with security
|
||||
http.HandleFunc("/api/payment/process", SecurityMiddleware(handlePaymentProcess))
|
||||
http.HandleFunc("/api/payment/validate", SecurityMiddleware(handlePaymentValidate))
|
||||
http.HandleFunc("/api/payment/status/", SecurityMiddleware(handlePaymentStatus))
|
||||
http.HandleFunc("/api/payment/refund", SecurityMiddleware(handlePaymentRefund))
|
||||
|
||||
// OIDC endpoints with security
|
||||
http.HandleFunc("/.well-known/openid-configuration", handleOIDCDiscovery) // No rate limit for discovery
|
||||
http.HandleFunc("/.well-known/jwks.json", handleJWKS) // No rate limit for JWKS
|
||||
http.HandleFunc("/authorize", SecurityMiddleware(handleAuthorize))
|
||||
http.HandleFunc("/token", SecurityMiddleware(handleToken))
|
||||
http.HandleFunc("/userinfo", SecurityMiddleware(handleUserInfo))
|
||||
}
|
||||
Reference in New Issue
Block a user