mirror of
https://gitea.com/gitea/go-fed-activity.git
synced 2024-06-01 09:46:47 +05:30
Permit hooks to return the modified context
This commit is contained in:
parent
c365730b4e
commit
f655c76e91
|
@ -208,7 +208,8 @@ func (b *baseActor) PostInbox(c context.Context, w http.ResponseWriter, r *http.
|
|||
return true, nil
|
||||
}
|
||||
// Allow server implementations to set context data with a hook.
|
||||
if err = b.delegate.PostInboxRequestBodyHook(c, r, activity); err != nil {
|
||||
c, err = b.delegate.PostInboxRequestBodyHook(c, r, activity)
|
||||
if err != nil {
|
||||
return true, err
|
||||
}
|
||||
// Check authorization of the activity.
|
||||
|
@ -336,7 +337,8 @@ func (b *baseActor) PostOutbox(c context.Context, w http.ResponseWriter, r *http
|
|||
return true, nil
|
||||
}
|
||||
// Allow server implementations to set context data with a hook.
|
||||
if err = b.delegate.PostOutboxRequestBodyHook(c, r, asValue); err != nil {
|
||||
c, err = b.delegate.PostOutboxRequestBodyHook(c, r, asValue)
|
||||
if err != nil {
|
||||
return true, err
|
||||
}
|
||||
// The HTTP request steps are complete, complete the rest of the outbox
|
||||
|
|
|
@ -39,7 +39,7 @@ type DelegateActor interface {
|
|||
// PostInbox. In this case, the DelegateActor implementation must not
|
||||
// write a response to the ResponseWriter as is expected that the caller
|
||||
// to PostInbox will do so when handling the error.
|
||||
PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) error
|
||||
PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) (context.Context, error)
|
||||
// Hook callback after parsing the request body for a client request
|
||||
// to the Actor's outbox.
|
||||
//
|
||||
|
@ -56,7 +56,7 @@ type DelegateActor interface {
|
|||
// PostOutbox. In this case, the DelegateActor implementation must not
|
||||
// write a response to the ResponseWriter as is expected that the caller
|
||||
// to PostOutbox will do so when handling the error.
|
||||
PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) error
|
||||
PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) (context.Context, error)
|
||||
// AuthenticatePostInbox delegates the authentication of a POST to an
|
||||
// inbox.
|
||||
//
|
||||
|
|
|
@ -32,7 +32,7 @@ type FederatingProtocol interface {
|
|||
// PostInbox. In this case, the DelegateActor implementation must not
|
||||
// write a response to the ResponseWriter as is expected that the caller
|
||||
// to PostInbox will do so when handling the error.
|
||||
PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) error
|
||||
PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) (context.Context, error)
|
||||
// AuthenticatePostInbox delegates the authentication of a POST to an
|
||||
// inbox.
|
||||
//
|
||||
|
|
|
@ -37,11 +37,12 @@ func (m *MockDelegateActor) EXPECT() *MockDelegateActorMockRecorder {
|
|||
}
|
||||
|
||||
// PostInboxRequestBodyHook mocks base method
|
||||
func (m *MockDelegateActor) PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) error {
|
||||
func (m *MockDelegateActor) PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) (context.Context, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "PostInboxRequestBodyHook", c, r, activity)
|
||||
ret0, _ := ret[0].(error)
|
||||
return ret0
|
||||
ret0, _ := ret[0].(context.Context)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// PostInboxRequestBodyHook indicates an expected call of PostInboxRequestBodyHook
|
||||
|
@ -51,11 +52,12 @@ func (mr *MockDelegateActorMockRecorder) PostInboxRequestBodyHook(c, r, activity
|
|||
}
|
||||
|
||||
// PostOutboxRequestBodyHook mocks base method
|
||||
func (m *MockDelegateActor) PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) error {
|
||||
func (m *MockDelegateActor) PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) (context.Context, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "PostOutboxRequestBodyHook", c, r, data)
|
||||
ret0, _ := ret[0].(error)
|
||||
return ret0
|
||||
ret0, _ := ret[0].(context.Context)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// PostOutboxRequestBodyHook indicates an expected call of PostOutboxRequestBodyHook
|
||||
|
|
|
@ -37,11 +37,12 @@ func (m *MockFederatingProtocol) EXPECT() *MockFederatingProtocolMockRecorder {
|
|||
}
|
||||
|
||||
// PostInboxRequestBodyHook mocks base method
|
||||
func (m *MockFederatingProtocol) PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) error {
|
||||
func (m *MockFederatingProtocol) PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) (context.Context, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "PostInboxRequestBodyHook", c, r, activity)
|
||||
ret0, _ := ret[0].(error)
|
||||
return ret0
|
||||
ret0, _ := ret[0].(context.Context)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// PostInboxRequestBodyHook indicates an expected call of PostInboxRequestBodyHook
|
||||
|
|
|
@ -36,11 +36,12 @@ func (m *MockSocialProtocol) EXPECT() *MockSocialProtocolMockRecorder {
|
|||
}
|
||||
|
||||
// PostOutboxRequestBodyHook mocks base method
|
||||
func (m *MockSocialProtocol) PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) error {
|
||||
func (m *MockSocialProtocol) PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) (context.Context, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "PostOutboxRequestBodyHook", c, r, data)
|
||||
ret0, _ := ret[0].(error)
|
||||
return ret0
|
||||
ret0, _ := ret[0].(context.Context)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// PostOutboxRequestBodyHook indicates an expected call of PostOutboxRequestBodyHook
|
||||
|
|
|
@ -29,12 +29,12 @@ type sideEffectActor struct {
|
|||
}
|
||||
|
||||
// PostInboxRequestBodyHook defers to the delegate.
|
||||
func (a *sideEffectActor) PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) error {
|
||||
func (a *sideEffectActor) PostInboxRequestBodyHook(c context.Context, r *http.Request, activity Activity) (context.Context, error) {
|
||||
return a.s2s.PostInboxRequestBodyHook(c, r, activity)
|
||||
}
|
||||
|
||||
// PostOutboxRequestBodyHook defers to the delegate.
|
||||
func (a *sideEffectActor) PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) error {
|
||||
func (a *sideEffectActor) PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) (context.Context, error) {
|
||||
return a.c2s.PostOutboxRequestBodyHook(c, r, data)
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ type SocialProtocol interface {
|
|||
// PostOutbox. In this case, the DelegateActor implementation must not
|
||||
// write a response to the ResponseWriter as is expected that the caller
|
||||
// to PostOutbox will do so when handling the error.
|
||||
PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) error
|
||||
PostOutboxRequestBodyHook(c context.Context, r *http.Request, data vocab.Type) (context.Context, error)
|
||||
// AuthenticatePostOutbox delegates the authentication of a POST to an
|
||||
// outbox.
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue