fix: webfinger redirects

This commit is contained in:
Jon Lundy
2023-04-02 21:00:22 -06:00
parent 9168f5c7bc
commit b8c2f9f510
15 changed files with 79 additions and 114 deletions

View File

@@ -1,8 +1,6 @@
package webfinger
import (
"encoding/json"
"go.sour.is/ev/pkg/es/event"
)
@@ -14,13 +12,6 @@ type SubjectSet struct {
event.IsEvent
}
func (e *SubjectSet) MarshalBinary() (text []byte, err error) {
return json.Marshal(e)
}
func (e *SubjectSet) UnmarshalBinary(b []byte) error {
return json.Unmarshal(b, e)
}
var _ event.Event = (*SubjectSet)(nil)
type SubjectDeleted struct {
@@ -29,13 +20,6 @@ type SubjectDeleted struct {
event.IsEvent
}
func (e *SubjectDeleted) MarshalBinary() (text []byte, err error) {
return json.Marshal(e)
}
func (e *SubjectDeleted) UnmarshalBinary(b []byte) error {
return json.Unmarshal(b, e)
}
var _ event.Event = (*SubjectDeleted)(nil)
type LinkSet struct {
@@ -48,13 +32,6 @@ type LinkSet struct {
event.IsEvent
}
func (e *LinkSet) MarshalBinary() (text []byte, err error) {
return json.Marshal(e)
}
func (e *LinkSet) UnmarshalBinary(b []byte) error {
return json.Unmarshal(b, e)
}
var _ event.Event = (*LinkSet)(nil)
type LinkDeleted struct {
@@ -63,11 +40,4 @@ type LinkDeleted struct {
event.IsEvent
}
func (e *LinkDeleted) MarshalBinary() (text []byte, err error) {
return json.Marshal(e)
}
func (e *LinkDeleted) UnmarshalBinary(b []byte) error {
return json.Unmarshal(b, e)
}
var _ event.Event = (*LinkDeleted)(nil)

View File

@@ -28,8 +28,8 @@ type JRD struct {
Properties map[string]*string `json:"properties,omitempty" yaml:"properties,omitempty"`
Links Links `json:"links,omitempty" yaml:"links,omitempty"`
deleted bool
event.AggregateRoot `yaml:"-"`
deleted bool
event.IsAggregate `yaml:"-"`
}
func (a *JRD) CloneValues() *JRD {

View File

@@ -231,14 +231,13 @@ func (s *service) ServeHTTP(w http.ResponseWriter, r *http.Request) {
return
}
host, _ := splitHostPort(r.Host)
if u := Parse(resource); u != nil && !s.self.Has(host) {
if u := Parse(resource); u != nil && !s.self.Has(u.URL.Host) {
redirect := &url.URL{}
redirect.Scheme = u.URL.Scheme
redirect.Scheme = "https"
redirect.Host = u.URL.Host
redirect.RawQuery = r.URL.RawQuery
redirect.Path = "/.well-known/webfinger"
fmt.Println(redirect)
w.Header().Set("location", redirect.String())
w.WriteHeader(http.StatusSeeOther)
return