@@ -186,7 +186,6 @@ config :mime, :types, %{ | |||
config :pleroma, :websub, Pleroma.Web.Websub | |||
config :pleroma, :ostatus, Pleroma.Web.OStatus | |||
config :pleroma, :httpoison, Pleroma.HTTP | |||
config :tesla, adapter: Tesla.Adapter.Hackney | |||
# Configures http settings, upstream proxy etc. | |||
@@ -1,4 +1,5 @@ | |||
defmodule Pleroma.Object.Fetcher do | |||
alias Pleroma.HTTP | |||
alias Pleroma.Object | |||
alias Pleroma.Object.Containment | |||
alias Pleroma.Web.ActivityPub.Transmogrifier | |||
@@ -6,8 +7,6 @@ defmodule Pleroma.Object.Fetcher do | |||
require Logger | |||
@httpoison Application.get_env(:pleroma, :httpoison) | |||
defp reinject_object(data) do | |||
Logger.debug("Reinjecting object #{data["id"]}") | |||
@@ -78,7 +77,7 @@ defmodule Pleroma.Object.Fetcher do | |||
with true <- String.starts_with?(id, "http"), | |||
{:ok, %{body: body, status: code}} when code in 200..299 <- | |||
@httpoison.get( | |||
HTTP.get( | |||
id, | |||
[{:Accept, "application/activity+json"}] | |||
), | |||
@@ -3,6 +3,8 @@ | |||
# SPDX-License-Identifier: AGPL-3.0-only | |||
defmodule Pleroma.ReverseProxy do | |||
alias Pleroma.HTTP | |||
@keep_req_headers ~w(accept user-agent accept-encoding cache-control if-modified-since) ++ | |||
~w(if-unmodified-since if-none-match if-range range) | |||
@resp_cache_headers ~w(etag date last-modified cache-control) | |||
@@ -60,7 +62,6 @@ defmodule Pleroma.ReverseProxy do | |||
""" | |||
@hackney Application.get_env(:pleroma, :hackney, :hackney) | |||
@httpoison Application.get_env(:pleroma, :httpoison, HTTPoison) | |||
@default_hackney_options [] | |||
@@ -97,7 +98,7 @@ defmodule Pleroma.ReverseProxy do | |||
hackney_opts = | |||
@default_hackney_options | |||
|> Keyword.merge(Keyword.get(opts, :http, [])) | |||
|> @httpoison.process_request_options() | |||
|> HTTP.process_request_options() | |||
req_headers = build_req_headers(conn.req_headers, opts) | |||
@@ -4,11 +4,10 @@ | |||
defmodule Pleroma.Uploaders.MDII do | |||
alias Pleroma.Config | |||
alias Pleroma.HTTP | |||
@behaviour Pleroma.Uploaders.Uploader | |||
@httpoison Application.get_env(:pleroma, :httpoison) | |||
# MDII-hosted images are never passed through the MediaPlug; only local media. | |||
# Delegate to Pleroma.Uploaders.Local | |||
def get_file(file) do | |||
@@ -25,7 +24,7 @@ defmodule Pleroma.Uploaders.MDII do | |||
query = "#{cgi}?#{extension}" | |||
with {:ok, %{status: 200, body: body}} <- | |||
@httpoison.post(query, file_data, [], adapter: [pool: :default]) do | |||
HTTP.post(query, file_data, [], adapter: [pool: :default]) do | |||
remote_file_name = String.split(body) |> List.first() | |||
public_url = "#{files}/#{remote_file_name}.#{extension}" | |||
{:ok, {:url, public_url}} | |||
@@ -5,6 +5,7 @@ | |||
defmodule Pleroma.Web.ActivityPub.Publisher do | |||
alias Pleroma.Activity | |||
alias Pleroma.Config | |||
alias Pleroma.HTTP | |||
alias Pleroma.Instances | |||
alias Pleroma.User | |||
alias Pleroma.Web.ActivityPub.Relay | |||
@@ -16,8 +17,6 @@ defmodule Pleroma.Web.ActivityPub.Publisher do | |||
require Logger | |||
@httpoison Application.get_env(:pleroma, :httpoison) | |||
@moduledoc """ | |||
ActivityPub outgoing federation module. | |||
""" | |||
@@ -63,7 +62,7 @@ defmodule Pleroma.Web.ActivityPub.Publisher do | |||
with {:ok, %{status: code}} when code in 200..299 <- | |||
result = | |||
@httpoison.post( | |||
HTTP.post( | |||
inbox, | |||
json, | |||
[ | |||
@@ -11,6 +11,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do | |||
alias Pleroma.Conversation.Participation | |||
alias Pleroma.Filter | |||
alias Pleroma.Formatter | |||
alias Pleroma.HTTP | |||
alias Pleroma.Notification | |||
alias Pleroma.Object | |||
alias Pleroma.Object.Fetcher | |||
@@ -55,7 +56,6 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do | |||
when action in [:account_register] | |||
) | |||
@httpoison Application.get_env(:pleroma, :httpoison) | |||
@local_mastodon_name "Mastodon-Local" | |||
action_fallback(:errors) | |||
@@ -1691,7 +1691,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do | |||
|> String.replace("{{user}}", user) | |||
with {:ok, %{status: 200, body: body}} <- | |||
@httpoison.get( | |||
HTTP.get( | |||
url, | |||
[], | |||
adapter: [ | |||
@@ -3,13 +3,12 @@ | |||
# SPDX-License-Identifier: AGPL-3.0-only | |||
defmodule Pleroma.Web.OStatus do | |||
@httpoison Application.get_env(:pleroma, :httpoison) | |||
import Ecto.Query | |||
import Pleroma.Web.XML | |||
require Logger | |||
alias Pleroma.Activity | |||
alias Pleroma.HTTP | |||
alias Pleroma.Object | |||
alias Pleroma.Repo | |||
alias Pleroma.User | |||
@@ -363,7 +362,7 @@ defmodule Pleroma.Web.OStatus do | |||
def fetch_activity_from_atom_url(url) do | |||
with true <- String.starts_with?(url, "http"), | |||
{:ok, %{body: body, status: code}} when code in 200..299 <- | |||
@httpoison.get( | |||
HTTP.get( | |||
url, | |||
[{:Accept, "application/atom+xml"}] | |||
) do | |||
@@ -380,7 +379,7 @@ defmodule Pleroma.Web.OStatus do | |||
Logger.debug("Trying to fetch #{url}") | |||
with true <- String.starts_with?(url, "http"), | |||
{:ok, %{body: body}} <- @httpoison.get(url, []), | |||
{:ok, %{body: body}} <- HTTP.get(url, []), | |||
{:ok, atom_url} <- get_atom_url(body) do | |||
fetch_activity_from_atom_url(atom_url) | |||
else | |||
@@ -5,11 +5,10 @@ | |||
defmodule Pleroma.Web.Salmon do | |||
@behaviour Pleroma.Web.Federator.Publisher | |||
@httpoison Application.get_env(:pleroma, :httpoison) | |||
use Bitwise | |||
alias Pleroma.Activity | |||
alias Pleroma.HTTP | |||
alias Pleroma.Instances | |||
alias Pleroma.Keys | |||
alias Pleroma.User | |||
@@ -138,7 +137,7 @@ defmodule Pleroma.Web.Salmon do | |||
def publish_one(%{recipient: url, feed: feed} = params) when is_binary(url) do | |||
with {:ok, %{status: code}} when code in 200..299 <- | |||
@httpoison.post( | |||
HTTP.post( | |||
url, | |||
feed, | |||
[{"Content-Type", "application/magic-envelope+xml"}] | |||
@@ -3,8 +3,7 @@ | |||
# SPDX-License-Identifier: AGPL-3.0-only | |||
defmodule Pleroma.Web.WebFinger do | |||
@httpoison Application.get_env(:pleroma, :httpoison) | |||
alias Pleroma.HTTP | |||
alias Pleroma.User | |||
alias Pleroma.Web | |||
alias Pleroma.Web.Federator.Publisher | |||
@@ -176,11 +175,11 @@ defmodule Pleroma.Web.WebFinger do | |||
def find_lrdd_template(domain) do | |||
with {:ok, %{status: status, body: body}} when status in 200..299 <- | |||
@httpoison.get("http://#{domain}/.well-known/host-meta", []) do | |||
HTTP.get("http://#{domain}/.well-known/host-meta", []) do | |||
get_template_from_xml(body) | |||
else | |||
_ -> | |||
with {:ok, %{body: body}} <- @httpoison.get("https://#{domain}/.well-known/host-meta", []) do | |||
with {:ok, %{body: body}} <- HTTP.get("https://#{domain}/.well-known/host-meta", []) do | |||
get_template_from_xml(body) | |||
else | |||
e -> {:error, "Can't find LRDD template: #{inspect(e)}"} | |||
@@ -209,7 +208,7 @@ defmodule Pleroma.Web.WebFinger do | |||
end | |||
with response <- | |||
@httpoison.get( | |||
HTTP.get( | |||
address, | |||
Accept: "application/xrd+xml,application/jrd+json" | |||
), | |||
@@ -5,6 +5,7 @@ | |||
defmodule Pleroma.Web.Websub do | |||
alias Ecto.Changeset | |||
alias Pleroma.Activity | |||
alias Pleroma.HTTP | |||
alias Pleroma.Instances | |||
alias Pleroma.Repo | |||
alias Pleroma.User | |||
@@ -24,9 +25,7 @@ defmodule Pleroma.Web.Websub do | |||
@behaviour Pleroma.Web.Federator.Publisher | |||
@httpoison Application.get_env(:pleroma, :httpoison) | |||
def verify(subscription, getter \\ &@httpoison.get/3) do | |||
def verify(subscription, getter \\ &HTTP.get/3) do | |||
challenge = Base.encode16(:crypto.strong_rand_bytes(8)) | |||
lease_seconds = NaiveDateTime.diff(subscription.valid_until, subscription.updated_at) | |||
lease_seconds = lease_seconds |> to_string | |||
@@ -207,7 +206,7 @@ defmodule Pleroma.Web.Websub do | |||
requester.(subscription) | |||
end | |||
def gather_feed_data(topic, getter \\ &@httpoison.get/1) do | |||
def gather_feed_data(topic, getter \\ &HTTP.get/1) do | |||
with {:ok, response} <- getter.(topic), | |||
status when status in 200..299 <- response.status, | |||
body <- response.body, | |||
@@ -236,7 +235,7 @@ defmodule Pleroma.Web.Websub do | |||
end | |||
end | |||
def request_subscription(websub, poster \\ &@httpoison.post/3, timeout \\ 10_000) do | |||
def request_subscription(websub, poster \\ &HTTP.post/3, timeout \\ 10_000) do | |||
data = [ | |||
"hub.mode": "subscribe", | |||
"hub.topic": websub.topic, | |||
@@ -294,7 +293,7 @@ defmodule Pleroma.Web.Websub do | |||
Logger.info(fn -> "Pushing #{topic} to #{callback}" end) | |||
with {:ok, %{status: code}} when code in 200..299 <- | |||
@httpoison.post( | |||
HTTP.post( | |||
callback, | |||
xml, | |||
[ | |||