mirror of
https://github.com/speatzle/nfsense.git
synced 2025-09-13 15:19:08 +00:00
Manage API Method Registration from main
This commit is contained in:
parent
c3d5e3edc1
commit
be852d0655
5 changed files with 22 additions and 39 deletions
|
@ -1,35 +0,0 @@
|
|||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"nfsense.net/nfsense/pkg/jsonrpc"
|
||||
)
|
||||
|
||||
var apiHandler jsonrpc.Handler
|
||||
|
||||
func init() {
|
||||
apiHandler = jsonrpc.NewHandler(100 << 20)
|
||||
apiHandler.Register("test", Ping{})
|
||||
}
|
||||
|
||||
type Ping struct {
|
||||
}
|
||||
|
||||
type PingRequest struct {
|
||||
Msg string `json:"msg"`
|
||||
}
|
||||
|
||||
type PingResponse struct {
|
||||
Msg string `json:"msg"`
|
||||
}
|
||||
|
||||
func (p Ping) Ping(ctx context.Context, req PingRequest) (*PingResponse, error) {
|
||||
if req.Msg == "" {
|
||||
return nil, fmt.Errorf("Message is empty")
|
||||
}
|
||||
return &PingResponse{
|
||||
Msg: req.Msg,
|
||||
}, nil
|
||||
}
|
|
@ -9,14 +9,17 @@ import (
|
|||
"golang.org/x/exp/slog"
|
||||
|
||||
"nfsense.net/nfsense/pkg/definitions"
|
||||
"nfsense.net/nfsense/pkg/jsonrpc"
|
||||
)
|
||||
|
||||
var server http.Server
|
||||
var mux = http.NewServeMux()
|
||||
var apiHandler *jsonrpc.Handler
|
||||
|
||||
func StartWebserver(conf *definitions.Config) {
|
||||
func StartWebserver(conf *definitions.Config, _apiHandler *jsonrpc.Handler) {
|
||||
server.Addr = ":8080"
|
||||
server.Handler = mux
|
||||
apiHandler = _apiHandler
|
||||
|
||||
// Routing
|
||||
mux.HandleFunc("/login", HandleLogin)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue