Shard Detail

connect-proxy v1.4.1

crystal lang connect / HTTP proxy implementation

Install & Use

Add the following code to your project's shard.yml under:

dependencies to use in production
- OR -
development_dependencies to use in development


connect-proxy:
  github: spider-gazelle/connect-proxy

Readme

Connect Proxy

CI

A simple implementation of the connect method for HTTP tunnelling. Most commonly used in HTTP proxy servers.

Usage

The most common usage of this shard is to use the crystal ::HTTP::Client via a proxy server

host = URI.parse("https://www.google.com")
response = ConnectProxy::HTTPClient.new(host) do |client|
  client.exec("GET", "/")
end
response.success?

By default the HTTP client will pick up the https_proxy or http_proxy environment variables and use the URLs configured in there. However you can override the environment or provide your own proxy server.

host = URI.parse("https://www.google.com")
client = ConnectProxy::HTTPClient.new(host)
proxy = ConnectProxy.new("134.209.219.234", 80, {username: "admin", password: "pass"})
client.set_proxy(proxy)
response = client.exec("GET", "/")
response.success?