Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F21968768
nodeinfo_controller.ex
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
nodeinfo_controller.ex
View Options
defmodule
Pleroma.Web.Nodeinfo.NodeinfoController
do
use
Pleroma.Web
,
:controller
alias
Pleroma.Stats
alias
Pleroma.Web
def
schemas
(
conn
,
_params
)
do
response
=
%{
links
:
[
%{
rel
:
"http://nodeinfo.diaspora.software/ns/schema/2.0"
,
href
:
Web
.
base_url
()
<>
"/nodeinfo/2.0.json"
}
]
}
json
(
conn
,
response
)
end
# Schema definition: https://github.com/jhass/nodeinfo/blob/master/schemas/2.0/schema.json
def
nodeinfo
(
conn
,
%{
"version"
=>
"2.0"
})
do
instance
=
Application
.
get_env
(
:pleroma
,
:instance
)
media_proxy
=
Application
.
get_env
(
:pleroma
,
:media_proxy
)
suggestions
=
Application
.
get_env
(
:pleroma
,
:suggestions
)
stats
=
Stats
.
get_stats
()
response
=
%{
version
:
"2.0"
,
software
:
%{
name
:
"pleroma"
,
version
:
Keyword
.
get
(
instance
,
:version
)
},
protocols
:
[
"ostatus"
,
"activitypub"
],
services
:
%{
inbound
:
[],
outbound
:
[]
},
openRegistrations
:
Keyword
.
get
(
instance
,
:registrations_open
),
usage
:
%{
users
:
%{
total
:
stats
.
user_count
||
0
},
localPosts
:
stats
.
status_count
||
0
},
metadata
:
%{
nodeName
:
Keyword
.
get
(
instance
,
:name
),
nodeDescription
:
Keyword
.
get
(
instance
,
:description
),
mediaProxy
:
Keyword
.
get
(
media_proxy
,
:enabled
),
private
:
!
Keyword
.
get
(
instance
,
:public
,
true
),
suggestions
:
%{
enabled
:
Keyword
.
get
(
suggestions
,
:enabled
,
false
),
thirdPartyEngine
:
Keyword
.
get
(
suggestions
,
:third_party_engine
,
""
),
timeout
:
Keyword
.
get
(
suggestions
,
:timeout
,
5000
),
web
:
Keyword
.
get
(
suggestions
,
:web
,
""
)
}
}
}
conn
|>
put_resp_header
(
"content-type"
,
"application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0
#
; charset=utf-8"
)
|>
json
(
response
)
end
def
nodeinfo
(
conn
,
_
)
do
conn
|>
put_status
(
404
)
|>
json
(%{
error
:
"Nodeinfo schema version not handled"
})
end
end
File Metadata
Details
Attached
Mime Type
text/x-c++
Expires
Sun, Dec 28, 3:25 AM (2 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
836093
Default Alt Text
nodeinfo_controller.ex (2 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment