etag_plug alternatives and similar packages
Based on the "HTTP" category.
Alternatively, view etag_plug alternatives based on common mentions on social networks and blogs.
-
mint
Functional HTTP client for Elixir with support for HTTP/1 and HTTP/2 ๐ฑ -
Crawly
Crawly, a high-level web crawling & scraping framework for Elixir. -
PlugAttack
A plug building toolkit for blocking and throttling abusive requests -
spell
Spell is a Web Application Messaging Protocol (WAMP) client implementation in Elixir. WAMP is an open standard WebSocket subprotocol that provides two application messaging patterns in one unified protocol: Remote Procedure Calls + Publish & Subscribe: http://wamp.ws/ -
web_socket
An exploration into a stand-alone library for Plug applications to easily adopt WebSockets. -
http_proxy
http proxy with Elixir. wait request with multi port and forward to each URIs -
explode
An easy utility for responding with standard HTTP/JSON error payloads in Plug- and Phoenix-based applications -
Mechanize
Build web scrapers and automate interaction with websites in Elixir with ease! -
mnemonic_slugs
An Elixir library for generating memorable slugs. -
ivar
Ivar is an adapter based HTTP client that provides the ability to build composable HTTP requests. -
fuzzyurl
An Elixir library for non-strict parsing, manipulation, and wildcard matching of URLs. -
SpiderMan
SpiderMan,a base-on Broadway fast high-level web crawling & scraping framework for Elixir. -
uri_query
URI encode nested GET parameters and array values in Elixir -
http_digex
HTTP Digest Auth Library to create auth header to be used with HTTP Digest Authentication -
lhttpc
What used to be here -- this is a backwards-compat user and repo m( -
Ralitobu.Plug
Elixir Plug for Ralitobu, the Rate Limiter with Token Bucket algorithm
TestGPT | Generating meaningful tests for busy devs
Do you think we are missing an alternative of etag_plug or a related project?
Popular Comparisons
README
ETagPlug
This plug generates shallow ETags.
Shallow means that it uses the whole response to generate the ETag and does not care about the specific content of each response. It is not context sensitive. For a deep (speak context sensitive) generation of ETags you can take a look at Phoenix ETag.
NOTE: While this plug may seem stale, it's just stable. There is nothing else to do, it "just works". As such don't be afraid to use it in production. ๐
Installation
The plug can be installed by adding etag_plug
to your list of dependencies in mix.exs
:
def deps do
[
{:etag_plug, "~> 1.0"}
]
end
Documentation can be found at: https://hexdocs.pm/etag_plug
Usage
You can simply use the plug without any configuration, it then defaults to the configuration as specified in the "Configuration" section.
plug ETag.Plug
You can also provide a number of options, see the "Configuration" section for details.
plug ETag.Plug,
generator: MyCustomGenerator,
methods: ["GET", "HEAD"],
status_codes: [:ok, 201, :not_modified]
Configuration
A full configuration equal to the defaults could look like this:
config :etag_plug,
generator: ETag.Generator.SHA1,
methods: ["GET"],
status_codes: [200]
Each of these options is explained in detail below.
generator
Expects a module implementing the ETag.Generator
behaviour. The plug ships with a number of "default" generators:
ETag.Generator.MD5
ETag.Generator.SHA1
ETag.Generator.SHA512
Default: Application.get_env(:etag_plug, :generator, ETag.Generator.SHA1)
methods
Expects a list of strings, describing the HTTP methods for which ETags should be generated and evaluated.
Default: Application.get_env(:etag_plug, :methods, ["GET"])
status_codes
Expects an enumerable of integers (or status atoms) which define the statuses for which ETags should be handled and generated.
Default: Application.get_env(:etag_plug, :status_codes, [200])
*Note that all licence references and agreements mentioned in the etag_plug README section above
are relevant to that project's source code only.