Comments (2)
I have a similar monkey patch for ignoring a self-signed certificate in development.
Perhaps it would be better to use a "downloader proc" instead of providing individual parameters.
Something like this:
def load(url)
uri = uri_for_url(url) || return
downloader = Rails.config[:network_downloader] || ->(uri) { Net::HTTP.get(uri) }
downloader.call(uri)
end
Premailer::Rails.config.merge!(
# With SSL options:
network_downloader: lambda do |uri|
request = Net::HTTP::Get.new(uri.path)
response = Net::HTTP.start(
uri.host, uri.port,
use_ssl: uri.scheme == 'https',
verify_mode: OpenSSL::SSL::VERIFY_NONE) do |https|
https.request(request)
end
response.body
end,
# With proxy:
network_downloader: lambda do |uri|
request = Net::HTTP.new(uri.host, uri.port, ENV['egress_proxy_host'], ENV['egress_proxy_port'])
request.use_ssl = uri.scheme == 'https'
response = request.get(uri.request_uri)
response.body
end
)
from premailer-rails.
Not going to support this. But you have a working solution π ππ©Ή
from premailer-rails.
Related Issues (20)
- Encoding changes when premailer is ran HOT 11
- Unable to use the premailer-rails with rails version 3.2.22 HOT 1
- Inlined stylesheet is incorrectly encoded HOT 2
- can't modify frozen String HOT 4
- RTL support HOT 1
- bump premailer version HOT 2
- skip_premailer: false does not work HOT 1
- Webpack and Sidekiq not sending emails on non-test environments HOT 1
- Stylesheets not working with email layout on haml HOT 1
- Looking for new maintainers? HOT 12
- Support CSSParser option rule_set_exceptions HOT 2
- Add Propshaft support
- Warning: already initialized constant Net::ProtocRetryError HOT 1
- "no implicit conversion of URI::HTTPS into String" exception after upgrading to 1.12.0 HOT 4
- Instrumentation support HOT 1
- Ruby 3.3.0 error HOT 3
- Generated `html_part` breaking tests after upgrade to 1.11.0
- Allow configuration of Mailer base class HOT 1
- Improve header `:skip_premailer` checking
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from premailer-rails.