Skip to content
GitLab
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
e54e592d
Commit
e54e592d
authored
May 01, 2017
by
lain
Browse files
Return webfinger for ap_ids.
parent
68437558
Changes
2
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/web/web_finger/web_finger.ex
View file @
e54e592d
...
...
@@ -18,11 +18,15 @@ def host_meta() do
def
webfinger
(
resource
)
do
host
=
Pleroma
.
Web
.
host
regex
=
~r/(acct:)?(?<username>\w+)@#{host}/
case
Regex
.
named_captures
(
regex
,
resource
)
do
%{
"username"
=>
username
}
->
user
=
User
.
get_by_nickname
(
username
)
with
%{
"username"
=>
username
}
<-
Regex
.
named_captures
(
regex
,
resource
)
do
user
=
User
.
get_by_nickname
(
username
)
{
:ok
,
represent_user
(
user
)}
else
_e
->
with
user
when
not
is_nil
(
user
)
<-
User
.
get_cached_by_ap_id
(
resource
)
do
{
:ok
,
represent_user
(
user
)}
_
->
nil
else
_e
->
{
:error
,
"Couldn't find user"
}
end
end
end
...
...
test/web/web_finger/web_finger_test.exs
View file @
e54e592d
...
...
@@ -11,6 +11,22 @@ test "returns a link to the xml lrdd" do
end
end
describe
"incoming webfinger request"
do
test
"works for fqns"
do
user
=
insert
(
:user
)
{
:ok
,
result
}
=
WebFinger
.
webfinger
(
"
#{
user
.
nickname
}
@
#{
Pleroma
.
Web
.
host
}
"
)
assert
is_binary
(
result
)
end
test
"works for ap_ids"
do
user
=
insert
(
:user
)
{
:ok
,
result
}
=
WebFinger
.
webfinger
(
user
.
ap_id
)
assert
is_binary
(
result
)
end
end
describe
"fingering"
do
test
"returns the info for a user"
do
user
=
"shp@social.heldscal.la"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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