Move worker to deliver.

This commit is contained in:
Naoki Kosaka
2021-06-18 22:02:49 +09:00
parent 99f870e0f2
commit aafac21664
12 changed files with 180 additions and 148 deletions

View File

@ -3,7 +3,6 @@ package api
import (
"fmt"
"net/http"
"net/url"
"time"
"github.com/RichardKnop/machinery/v1"
@ -24,7 +23,6 @@ var (
// Nodeinfo : Relay's Nodeinfo
Nodeinfo models.NodeinfoResources
hostURL *url.URL
relayState models.RelayState
machineryServer *machinery.Server
actorCache *cache.Cache
@ -66,9 +64,8 @@ func initialize(globalConfig *models.RelayConfig) error {
Actor = models.NewActivityPubActorFromSelfKey(globalConfig)
actorCache = cache.New(5*time.Minute, 10*time.Minute)
hostURL = globalConfig.ServerHostname()
WebfingerResource.GenerateFromActor(hostURL, &Actor)
Nodeinfo.GenerateFromActor(hostURL, &Actor, version)
WebfingerResource.GenerateFromActor(globalConfig.ServerHostname(), &Actor)
Nodeinfo.GenerateFromActor(globalConfig.ServerHostname(), &Actor, version)
return nil
}

View File

@ -26,7 +26,7 @@ func decodeActivity(request *http.Request) (*models.Activity, *models.Actor, []b
}
KeyID := verifier.KeyId()
keyOwnerActor := new(models.Actor)
err = keyOwnerActor.RetrieveRemoteActor(KeyID, fmt.Sprintf("%s (golang net/http; Activity-Relay %s; %s)", globalConfig.ServerServicename(), version, hostURL.Host), actorCache)
err = keyOwnerActor.RetrieveRemoteActor(KeyID, fmt.Sprintf("%s (golang net/http; Activity-Relay %s; %s)", globalConfig.ServerServicename(), version, globalConfig.ServerHostname().Host), actorCache)
if err != nil {
return nil, nil, nil, err
}
@ -61,7 +61,7 @@ func decodeActivity(request *http.Request) (*models.Activity, *models.Actor, []b
}
var remoteActor models.Actor
err = remoteActor.RetrieveRemoteActor(activity.Actor, fmt.Sprintf("%s (golang net/http; Activity-Relay %s; %s)", globalConfig.ServerServicename(), version, hostURL.Host), actorCache)
err = remoteActor.RetrieveRemoteActor(activity.Actor, fmt.Sprintf("%s (golang net/http; Activity-Relay %s; %s)", globalConfig.ServerServicename(), version, globalConfig.ServerHostname().Host), actorCache)
if err != nil {
return nil, nil, nil, err
}

View File

@ -214,7 +214,7 @@ func handleInbox(writer http.ResponseWriter, request *http.Request, activityDeco
case "Follow":
err = followAcceptable(activity, actor)
if err != nil {
resp := activity.GenerateResponse(hostURL, "Reject")
resp := activity.GenerateResponse(globalConfig.ServerHostname(), "Reject")
jsonData, _ := json.Marshal(&resp)
go pushRegistorJob(actor.Inbox, jsonData)
fmt.Println("Reject Follow Request : ", err.Error(), activity.Actor)
@ -233,7 +233,7 @@ func handleInbox(writer http.ResponseWriter, request *http.Request, activityDeco
})
fmt.Println("Pending Follow Request : ", activity.Actor)
} else {
resp := activity.GenerateResponse(hostURL, "Accept")
resp := activity.GenerateResponse(globalConfig.ServerHostname(), "Accept")
jsonData, _ := json.Marshal(&resp)
go pushRegistorJob(actor.Inbox, jsonData)
relayState.AddSubscription(models.Subscription{
@ -245,7 +245,7 @@ func handleInbox(writer http.ResponseWriter, request *http.Request, activityDeco
fmt.Println("Accept Follow Request : ", activity.Actor)
}
} else {
resp := activity.GenerateResponse(hostURL, "Reject")
resp := activity.GenerateResponse(globalConfig.ServerHostname(), "Reject")
jsonData, _ := json.Marshal(&resp)
go pushRegistorJob(actor.Inbox, jsonData)
fmt.Println("Reject Follow Request : ", activity.Actor)
@ -297,7 +297,7 @@ func handleInbox(writer http.ResponseWriter, request *http.Request, activityDeco
}
switch nestedObject.Type {
case "Note":
resp := nestedObject.GenerateAnnounce(hostURL)
resp := nestedObject.GenerateAnnounce(globalConfig.ServerHostname())
jsonData, _ := json.Marshal(&resp)
go pushRelayJob(domain.Host, jsonData)
fmt.Println("Accept Announce Note : ", activity.Actor)

View File

@ -26,7 +26,7 @@ func TestHandleWebfingerGet(t *testing.T) {
req, _ := http.NewRequest("GET", s.URL, nil)
q := req.URL.Query()
q.Add("resource", "acct:relay@"+hostURL.Host)
q.Add("resource", "acct:relay@"+globalConfig.ServerHostname().Host)
req.URL.RawQuery = q.Encode()
client := new(http.Client)
r, err := client.Do(req)
@ -49,7 +49,7 @@ func TestHandleWebfingerGet(t *testing.T) {
}
domain, _ := url.Parse(wfresource.Links[0].Href)
if domain.Host != hostURL.Host {
if domain.Host != globalConfig.ServerHostname().Host {
t.Fatalf("WebfingerResource's Host not valid.")
}
}
@ -193,7 +193,7 @@ func TestHandleActorGet(t *testing.T) {
}
domain, _ := url.Parse(actor.ID)
if domain.Host != hostURL.Host {
if domain.Host != globalConfig.ServerHostname().Host {
t.Fatalf("Actor's Host not valid.")
}
}