Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
451d18af
Commit
451d18af
authored
Apr 28, 2017
by
lain
Browse files
Add proper callback route for websub confirmation.
parent
90da2550
Changes
4
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/web/router.ex
View file @
451d18af
...
...
@@ -75,6 +75,7 @@ def user_fetcher(username) do
get
"/users/:nickname/feed"
,
OStatus
.
OStatusController
,
:feed
post
"/users/:nickname/salmon"
,
OStatus
.
OStatusController
,
:salmon_incoming
post
"/push/subscriptions/:id"
,
Websub
.
WebsubController
,
:websub_subscription_confirmation
post
"/push/hub/:nickname"
,
Websub
.
WebsubController
,
:websub_subscription_request
end
...
...
lib/pleroma/web/websub/websub.ex
View file @
451d18af
...
...
@@ -2,8 +2,8 @@ defmodule Pleroma.Web.Websub do
alias
Pleroma
.
Repo
alias
Pleroma
.
Web
.
Websub
.
{
WebsubServerSubscription
,
WebsubClientSubscription
}
alias
Pleroma
.
Web
.
OStatus
.
FeedRepresenter
alias
Pleroma
.
Web
.
OStatus
alias
Pleroma
.
Web
.
XML
alias
Pleroma
.
Web
.
{
XML
,
Endpoint
,
OStatus
}
alias
Pleroma
.
Web
.
Router
.
Helpers
require
Logger
import
Ecto
.
Query
...
...
@@ -136,7 +136,7 @@ def request_subscription(websub, poster \\ &HTTPoison.post/3, timeout \\ 10_000)
"hub.mode"
:
"subscribe"
,
"hub.topic"
:
websub
.
topic
,
"hub.secret"
:
websub
.
secret
,
"hub.callback"
:
"https://social.heldscal.la/callback"
"hub.callback"
:
Helpers
.
websub_url
(
Endpoint
,
:websub_subscription_confirmation
,
websub
.
id
)
]
# This checks once a second if we are confirmed yet
...
...
lib/pleroma/web/websub/websub_controller.ex
View file @
451d18af
...
...
@@ -15,4 +15,9 @@ def websub_subscription_request(conn, %{"nickname" => nickname} = params) do
|>
send_resp
(
500
,
reason
)
end
end
def
websub_subscription_confirmation
(
conn
,
params
)
do
IO
.
inspect
(
params
)
conn
end
end
test/web/websub/websub_test.exs
View file @
451d18af
...
...
@@ -3,11 +3,13 @@ def verify(sub) do
{
:ok
,
sub
}
end
end
defmodule
Pleroma
.
Web
.
WebsubTest
do
use
Pleroma
.
DataCase
alias
Pleroma
.
Web
.
Websub
alias
Pleroma
.
Web
.
Websub
.
WebsubServerSubscription
import
Pleroma
.
Factory
alias
Pleroma
.
Web
.
Router
.
Helpers
test
"a verification of a request that is accepted"
do
sub
=
insert
(
:websub_subscription
)
...
...
@@ -121,6 +123,7 @@ test "calls the hub, requests topic" do
poster
=
fn
(
^
hub
,
{
:form
,
data
},
_headers
)
->
assert
Keyword
.
get
(
data
,
:"hub.mode"
)
==
"subscribe"
assert
Keyword
.
get
(
data
,
:"hub.callback"
)
==
Helpers
.
websub_url
(
Pleroma
.
Web
.
Endpoint
,
:websub_subscription_confirmation
,
websub
.
id
)
{
:ok
,
%{
status_code:
202
}}
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment