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
b2713357
Commit
b2713357
authored
Nov 11, 2022
by
Haelwenn
Browse files
Object.Fetcher: Set reachable on successful fetch
parent
39a96876
Pipeline
#42521
passed with stages
in 25 minutes and 40 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/object/fetcher.ex
View file @
b2713357
...
...
@@ -4,6 +4,7 @@
defmodule
Pleroma
.
Object
.
Fetcher
do
alias
Pleroma
.
HTTP
alias
Pleroma
.
Instances
alias
Pleroma
.
Maps
alias
Pleroma
.
Object
alias
Pleroma
.
Object
.
Containment
...
...
@@ -234,6 +235,10 @@ def fetch_and_contain_remote_object_from_id(id) when is_binary(id) do
{
:ok
,
body
}
<-
get_object
(
id
),
{
:ok
,
data
}
<-
safe_json_decode
(
body
),
:ok
<-
Containment
.
contain_origin_from_id
(
id
,
data
)
do
if
not
Instances
.
reachable?
(
id
)
do
Instances
.
set_reachable
(
id
)
end
{
:ok
,
data
}
else
{
:scheme
,
_
}
->
...
...
test/pleroma/object/fetcher_test.exs
View file @
b2713357
...
...
@@ -6,6 +6,7 @@ defmodule Pleroma.Object.FetcherTest do
use
Pleroma
.
DataCase
alias
Pleroma
.
Activity
alias
Pleroma
.
Instances
alias
Pleroma
.
Object
alias
Pleroma
.
Object
.
Fetcher
...
...
@@ -159,6 +160,17 @@ test "it does not fetch a spoofed object uploaded on an instance as an attachmen
"https://patch.cx/media/03ca3c8b4ac3ddd08bf0f84be7885f2f88de0f709112131a22d83650819e36c2.json"
)
end
test
"it resets instance reachability on successful fetch"
do
id
=
"http://mastodon.example.org/@admin/99541947525187367"
Instances
.
set_consistently_unreachable
(
id
)
refute
Instances
.
reachable?
(
id
)
{
:ok
,
object
}
=
Fetcher
.
fetch_object_from_id
(
"http://mastodon.example.org/@admin/99541947525187367"
)
assert
Instances
.
reachable?
(
id
)
end
end
describe
"implementation quirks"
do
...
...
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