From a6acaa9c81900cde99b8e0bcabf5d2d80574f0e9 Mon Sep 17 00:00:00 2001 From: Jeff Browning Date: Tue, 18 Oct 2016 09:54:00 -0400 Subject: [PATCH] Allow HTTPoison options to be specified in config --- config/config.exs | 2 ++ lib/readability.ex | 3 ++- mix.lock | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/config/config.exs b/config/config.exs index ad0fe89..fdf58f3 100644 --- a/config/config.exs +++ b/config/config.exs @@ -28,3 +28,5 @@ use Mix.Config # here (which is why it is important to import them last). # # import_config "#{Mix.env}.exs" + +config :readability, httpoison_options: [] diff --git a/lib/readability.ex b/lib/readability.ex index 4d10f41..a8acfb5 100644 --- a/lib/readability.ex +++ b/lib/readability.ex @@ -72,7 +72,8 @@ defmodule Readability do @spec summarize(url, options) :: Summary.t def summarize(url, opts \\ []) do opts = Keyword.merge(opts, [page_url: url]) - %{status_code: _, body: raw_html} = HTTPoison.get!(url) + httpoison_options = Application.get_env :readability, :httpoison_options + %{status_code: _, body: raw_html} = HTTPoison.get!(url, [], httpoison_options) html_tree = Helper.normalize(raw_html) article_tree = html_tree |> ArticleBuilder.build(opts) diff --git a/mix.lock b/mix.lock index b55746b..a030395 100644 --- a/mix.lock +++ b/mix.lock @@ -5,7 +5,7 @@ "earmark": {:hex, :earmark, "0.2.1", "ba6d26ceb16106d069b289df66751734802777a3cbb6787026dd800ffeb850f3", [:mix], []}, "ex_doc": {:hex, :ex_doc, "0.12.0", "b774aabfede4af31c0301aece12371cbd25995a21bb3d71d66f5c2fe074c603f", [:mix], [{:earmark, "~> 0.2", [hex: :earmark, optional: false]}]}, "floki": {:hex, :floki, "0.9.0", "e952ca71a453f7827ab5405106ac8d9ac5c9602d18aa5d2d893e5b9944e2499e", [:mix], [{:mochiweb_html, "~> 2.15", [hex: :mochiweb_html, optional: false]}]}, - "hackney": {:hex, :hackney, "1.6.1", "ddd22d42db2b50e6a155439c8811b8f6df61a4395de10509714ad2751c6da817", [:rebar3], [{:ssl_verify_fun, "1.1.0", [hex: :ssl_verify_fun, optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, optional: false]}, {:metrics, "1.0.1", [hex: :metrics, optional: false]}, {:idna, "1.2.0", [hex: :idna, optional: false]}, {:certifi, "0.4.0", [hex: :certifi, optional: false]}]}, + "hackney": {:hex, :hackney, "1.6.1", "ddd22d42db2b50e6a155439c8811b8f6df61a4395de10509714ad2751c6da817", [:rebar3], [{:certifi, "0.4.0", [hex: :certifi, optional: false]}, {:idna, "1.2.0", [hex: :idna, optional: false]}, {:metrics, "1.0.1", [hex: :metrics, optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, optional: false]}, {:ssl_verify_fun, "1.1.0", [hex: :ssl_verify_fun, optional: false]}]}, "httpoison": {:hex, :httpoison, "0.9.0", "68187a2daddfabbe7ca8f7d75ef227f89f0e1507f7eecb67e4536b3c516faddb", [:mix], [{:hackney, "~> 1.6.0", [hex: :hackney, optional: false]}]}, "idna": {:hex, :idna, "1.2.0", "ac62ee99da068f43c50dc69acf700e03a62a348360126260e87f2b54eced86b2", [:rebar3], []}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], []},