1
0
Fork 0

Support syscall

This commit is contained in:
David 2025-10-17 17:46:05 +02:00 committed by GitHub
parent 05de0670ea
commit d1ab6ed489
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 247 additions and 8 deletions

View file

@ -0,0 +1,3 @@
module testpluginsyscall
go 1.23.0

View file

@ -0,0 +1,29 @@
package testpluginsyscall
import (
"context"
"net/http"
"syscall"
"unsafe"
)
type Config struct {
Message string
}
func CreateConfig() *Config {
return &Config{Message: "syscall plugin"}
}
func New(ctx context.Context, next http.Handler, config *Config, name string) (http.Handler, error) {
// Use syscall and unsafe to test they're available
pid := syscall.Getpid()
size := unsafe.Sizeof(int(0))
return http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
rw.Header().Set("X-Test-Plugin", "syscall")
rw.Header().Set("X-Test-PID", string(rune(pid)))
rw.Header().Set("X-Test-Size", string(rune(size)))
next.ServeHTTP(rw, req)
}), nil
}