fix: baseurl join

This commit is contained in:
xuu 2022-09-07 02:06:46 +00:00
parent c5fdb1319c
commit 2a1e9900e1
4 changed files with 13 additions and 6038 deletions

View File

@ -6,9 +6,10 @@ import (
"crypto/sha256" "crypto/sha256"
"fmt" "fmt"
"log" "log"
"path" "net/url"
"strings" "strings"
"github.com/keys-pub/keys" "github.com/keys-pub/keys"
"github.com/oklog/ulid/v2" "github.com/oklog/ulid/v2"
"github.com/sour-is/ev/pkg/es/event" "github.com/sour-is/ev/pkg/es/event"
@ -52,9 +53,9 @@ func (a *SaltyUser) OnUserRegister(name string, pubkey *keys.EdX25519PublicKey)
func (a *SaltyUser) Nick() string { return a.name } func (a *SaltyUser) Nick() string { return a.name }
func (a *SaltyUser) Inbox() string { return a.inbox.String() } func (a *SaltyUser) Inbox() string { return a.inbox.String() }
func (a *SaltyUser) Pubkey() string { return a.pubkey.String() } func (a *SaltyUser) Pubkey() string { return a.pubkey.String() }
func (s *SaltyUser) Endpoint(ctx context.Context) string { func (s *SaltyUser) Endpoint(ctx context.Context) (string, error) {
svc := gql.FromContext[contextKey, *service](ctx, saltyKey) svc := gql.FromContext[contextKey, *service](ctx, saltyKey)
return path.Join(svc.BaseURL(), s.inbox.String()) return url.JoinPath(svc.BaseURL(), s.inbox.String())
} }
type UserRegistered struct { type UserRegistered struct {

2
go.mod
View File

@ -1,6 +1,6 @@
module github.com/sour-is/ev module github.com/sour-is/ev
go 1.18 go 1.19
require ( require (
github.com/99designs/gqlgen v0.17.13 github.com/99designs/gqlgen v0.17.13

File diff suppressed because it is too large Load Diff

10
main.go
View File

@ -4,9 +4,9 @@ import (
"context" "context"
"log" "log"
"net/http" "net/http"
"net/url"
"os" "os"
"os/signal" "os/signal"
"path"
"strings" "strings"
"time" "time"
@ -81,7 +81,13 @@ func run(ctx context.Context) error {
if enable.Has("salty") { if enable.Has("salty") {
span.AddEvent("Enable Salty") span.AddEvent("Enable Salty")
salty, err := salty.New(ctx, es, path.Join(env("EV_BASE_URL", "http://"+s.Addr), "inbox")) base, err := url.JoinPath(env("EV_BASE_URL", "http://"+s.Addr), "inbox")
if err != nil {
span.RecordError(err)
return err
}
salty, err := salty.New(ctx, es, base)
if err != nil { if err != nil {
span.RecordError(err) span.RecordError(err)
return err return err