Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F5902444
media_proxy.ex
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
807 B
Referenced Files
None
Subscribers
None
media_proxy.ex
View Options
defmodule
Pleroma.HTML.Transform.MediaProxy
do
@moduledoc
"Transforms inline image URIs to use MediaProxy."
alias
Pleroma.Web.MediaProxy
def
before_scrub
(
html
),
do
:
html
def
scrub_attribute
(
:img
,
{
"src"
,
"http"
<>
target
})
do
media_url
=
(
"http"
<>
target
)
|>
MediaProxy
.
url
()
{
"src"
,
media_url
}
end
def
scrub_attribute
(
_tag
,
attribute
),
do
:
attribute
def
scrub
({
:img
,
attributes
,
children
})
do
attributes
=
attributes
|>
Enum
.
map
(
fn
attr
->
scrub_attribute
(
:img
,
attr
)
end
)
|>
Enum
.
reject
(
&
is_nil
(
&1
))
{
:img
,
attributes
,
children
}
end
def
scrub
({
:comment
,
_text
,
_children
}),
do
:
""
def
scrub
({
tag
,
attributes
,
children
}),
do
:
{
tag
,
attributes
,
children
}
def
scrub
({
_tag
,
children
}),
do
:
children
def
scrub
(
text
),
do
:
text
end
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Thu, Aug 14, 8:44 PM (20 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
311909
Default Alt Text
media_proxy.ex (807 B)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment