Node.js implementation of a proxy server (think Squid) with support for SSL, authentication, upstream proxy chaining, and protocol tunneling.
Proxy chain
Create a chain of native Next.js proxies seamlessly, without changing any existing proxy code
Command line interface of proxy-chain
Allows collecting chained calls that are evaluated asynchronously when the target object arrives
A TypeScript library for building hypermedia-driven REST API responses. Designed for use with Express behind a reverse proxy chain (e.g. Kong + GCP Internal ALBs), it constructs correct public-facing URLs from forwarded headers and wraps your data in cons
An HTTP(s) proxy `http.Agent` implementation for HTTP
Offers getProxyForUrl to get the proxy URL for a URL, respecting the *_PROXY (e.g. HTTP_PROXY) and NO_PROXY environment variables.
Turn a function into an `http.Agent` instance
Maps proxy protocols to `http.Agent` implementations
Selected dispatchables of Substrate pallets, to be re-exported by txwrappers.
An HTTP(s) proxy `http.Agent` implementation for HTTPS
Determine address of proxied request
The one-liner node.js proxy middleware for connect, express, next.js and more
A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
HTTP proxying for the masses
A PAC file proxy `http.Agent` implementation for HTTP
Global HTTP/HTTPS proxy configurable using environment variables.
TypeScript definitions for http-proxy
ES5 shim for ES6 (ECMAScript 6) Reflect and Proxy objects
Chain functions, generators, Node streams, and Web streams into a pipeline with backpressure support.
Determine the address of a proxied request
A middleware composition library for Next.js applications that allows you to organize and chain middleware functions based on URL patterns.
HANDLE CONFIGURATION ONCE AND FOR ALL
Proxy connections in Ruby via the Node package proxy-chain
This gem defines the Kernel method "it" that queue and defer method calls. This extends the Symbol#to_proc idiom to support chaining multiple methods. For example, items.collect(&it.to_s.capitalize). This also allows conditionals in case statements, such as: case ... when it > 3 then [etc.]. The method is also aliased as "its", for methods that describe possessives rather than actions, such as items.collect(&its.name.capitalize) [This gem is an extension of Jay Philips' "methodphitamine" gem, updated for ruby 1.9 and gemspec compatibility and adding the case statement functionality.]
Remember when RSpec had stub_chain? They removed it for good reasons but sometimes you just need it. Well, here it is, a proxy object. It doesn't actually mock anything for you (the name is just catchy) so you need to do that. But that actually comes with a lot of benefits: 1) It's compatable with any testing framework 2) You can use it for purposes other than testing, e.g. prototyping, code stubs 3) Flexibility in how you use it without overloading the number of methods you have to remember Here's an example usage: let(:model_proxy) do MockProxy.new(email_client: { create_email: { receive: proc {} } }) end before { allow(Model).to receive(:new).and_return model_proxy } it 'should call receive' do proc = MockProxy.get(model_proxy, 'email_client.create_email.receive') expect(proc).to receive(:call) run_system_under_test MockProxy.update(mock_proxy, 'email_client.create_email.validate!') { true } MockProxy.observe(mock_proxy, 'email_client.create_email.send') do |to| expect(to).to eq 'stop@emailing.me' end run_system_under_test2 end As you can see, the proc - which ends the proxy by calling the proc - can be used for anything. You can spy on the call count and arguments, mock methods, or just stub out code you don't want executed. Because it doesn't make any assumptions, it becomes very flexible. Simple, yet powerful, it's uses are infinite. Enjoy
Make it as easy as possible to prevent Rails from logging IP addresses that belong to proxy devices in your HTTP request chain.
Zokor is an HTTP proxy tunnelling tool that collapses multiple HTTP proxies into one. It's useful when you want to send traffic through a chain of two HTTP proxies where the first supports the CONNECT verb. Zokor presents a local server that transparently tunnels packets through the first proxy as though clients were directly connected to the second proxy. It optionally uses TLS to connect to the second proxy.
Radioactive wraps Net::HTTP with defenses against SSRF, DNS rebinding, slowloris, response and decompression bombs, redirect chains into private addresses, and disallowed schemes. Safe-by-default for use cases like link previews, image proxies, webhook delivery, and metadata extraction from user-supplied URLs.
# XQuery [](https://gitter.im/JelF/xquery?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://travis-ci.org/JelF/xquery) [](https://codeclimate.com/github/JelF/xquery) [](https://codeclimate.com/github/JelF/xquery/coverage) [](https://codeclimate.com/github/JelF/xquery) XQuery is designed to replace boring method call chains and allow to easier convert it in a builder classes ## Usage of `XQuery` function `XQuery` is a shortcat to `XQuery::Generic.with` ``` r = XQuery(''.html_safe) do |q| # similar to tap q << 'bla bla bla' q << 'bla bla bla' # using truncate q.truncate(15) # real content (q.send(:query)) mutated q << '!' end r # => "bla bla blab...!" ``` ## Usage of `XQuery::Abstract` I designed this gem to help me with `ActiveRecord` Queries, so i inherited `XQuery::Abstract` and used it's powers. It provides the following features ### `wrap_method` and `wrap_methods` when you call each of this methods they became automatically wrapped (`XQuery::Abstract` basically wraps all methods query `#respond_to?`) It means, that there are instance methods with same name defined and will change a `#query` to their call result. ``` self.query = query.foo(x) # is basically the same as foo(x) # when `wrap_method :foo` called ``` You can also specify new name using `wrap_method :foo, as: :bar` syntax ### `q` object `q` is a proxy object which holds all of wrapped methods, but not methods you defined inside your class. E.g. i have defined `wrap_method(:foo)`, but also delegated `#foo` to some another object. If i call `q.foo`, i will get wrapped method. Note, that if you redefine `#__foo` method, q.foo will call it instead of normal work. You can add additional methods to `q` using something like `alias_on_q :foo`. I used it with `kaminary` and it was useful ``` def page=(x) apply { |query| query.page(x) } end alias_on_q :page= def page query.current_page end alias_on_q :page ``` ### `query_superclass` You should specify `query_superclass` class_attribute to inherit `XQuery::Abstract`. Whenever `query.is_a?(query_superclass)` evaluate to false, you will get `XQuery::QuerySuperclassChanged` exception. It can save you much time when your class misconfigured. E.g. you are using `select!` and it returns `nil`, because why not? ### `#apply` method `#apply` does exact what it source tells ``` # yields query inside block # @param block [#to_proc] # @return [XQuery::Abstract] self def apply(&block) self.query = block.call(query) self end ``` It is usefull to merge different queries. ### `with` class method You can get XQuery functionality even you have not defined a specific class (You are still have to inherit XQuery::Abstract to use it) You can see it in this document when i described `XQuery` function. Note, that it yields a class instance, not `q` object. It accepts any arguments, they will be passed to a constructor (except block) ### `execute` method Preferred way to call public instance methods. Resulting query would be returned
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.