Comments (8)
👍 I need it for this: #18 (comment)
from plug.
FWIW, there was a discussion for implementing this here: #26
from plug.
Just looked through #26, I really don't like converting the IP tuple into a string.
I would add a remote_ip
field that contains the peer's ip as a tuple (and can be overwritten by plugs that parse X-Forwarded-For
or the PROXY protocol) and I'd add a peer
field that is the original peer we get from cowboy.
I can tackle this on Sunday.
from plug.
Should we make those a struct so we get inspect?
from plug.
and other protocols?
from plug.
Like to_string(conn.peer) == "123.123.53.43:482"
.
from plug.
I think that would be useful, but IMO the IP struct should be in Elixir's stdlib. I'd want it for Ecto, HTTPoison, and even GenTCP
too. (Not sure how that would work with Elixir 1.0 being almost here)
from plug.
Ah, but we'd need not only an IP
struct but also a Peer
one that has IP and Port and maybe even protocol (TCP, UDP, others?). That seems no longer worth it to me.
from plug.
Related Issues (20)
- Add option to decide what to do on invalid UTF-8 urlencoded params HOT 3
- [Bug/compile] can't compile plug in bigger project, pop-os-22.04 HOT 9
- Plug.Conn.Query - decode_init, each,done unknown HOT 7
- Interest in an extension for Plug.Parsers.MULTIPART for FormData? HOT 2
- Mismatch spec for `Plug.Conn.Query.decode` HOT 1
- Plug.RequestId: put the `request_id` in `:private` or `:assigns`? HOT 1
- 1.15 changes decoding behaviour of `[]` HOT 5
- Request: Support MFA tuple for Plug.Session opts HOT 4
- Plug.Upload's random-tempdir generation is not very random HOT 1
- `strip_spaces` fails on `nil` since 1.15.0 HOT 1
- Plug.Conn.Query has changed the way it decodes parameters from 1.14 to 1.15 without warning HOT 1
- More flexible dynamic routes with `:` parameters HOT 2
- Compatibility issue with plug_crypto 2.0.0 HOT 3
- Error: There isn't enough space to open the popup HOT 1
- Docs inconsistency between Plug moduledoc and Plug.run HOT 1
- Plug.Upload: demonitor previous owner when giving away HOT 1
- Compilation issues on Erlang 26.x HOT 3
- html array items are dropped. HOT 1
- Plug.Conn is not closed when user closes the browser's tab (SSE) HOT 2
- setting max_age to nil in put_resp_cookie/4 causes crash HOT 1
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 plug.