mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-01-01 23:16:23 -05:00
support attributes in session.Content
This commit is contained in:
parent
39835e8da2
commit
888494aac8
@ -66,4 +66,20 @@ type Content struct {
|
|||||||
Protocol string
|
Protocol string
|
||||||
|
|
||||||
SniffingRequest SniffingRequest
|
SniffingRequest SniffingRequest
|
||||||
|
|
||||||
|
attr map[string]interface{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Content) SetAttribute(name string, value interface{}) {
|
||||||
|
if c.attr == nil {
|
||||||
|
c.attr = make(map[string]interface{})
|
||||||
|
}
|
||||||
|
c.attr[name] = value
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Content) Attribute(name string) interface{} {
|
||||||
|
if c.attr == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return c.attr[name]
|
||||||
}
|
}
|
||||||
|
@ -239,9 +239,18 @@ func (s *Server) handlePlainHTTP(ctx context.Context, request *http.Request, wri
|
|||||||
request.Header.Set("User-Agent", "")
|
request.Header.Set("User-Agent", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx = session.ContextWithContent(ctx, &session.Content{
|
content := &session.Content{
|
||||||
Protocol: "http/1.1",
|
Protocol: "http/1.1",
|
||||||
})
|
}
|
||||||
|
|
||||||
|
content.SetAttribute(":method", request.Method)
|
||||||
|
content.SetAttribute(":path", request.URL.Path)
|
||||||
|
for key := range request.Header {
|
||||||
|
value := request.Header.Get(key)
|
||||||
|
content.SetAttribute(strings.ToLower(key), value)
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx = session.ContextWithContent(ctx, content)
|
||||||
|
|
||||||
link, err := dispatcher.Dispatch(ctx, dest)
|
link, err := dispatcher.Dispatch(ctx, dest)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user