mirror of
https://github.com/h2o/h2o.git
synced 2025-04-19 16:09:15 +08:00
return 425 in addr
if early-data header is set
This commit is contained in:
parent
c54c63285b
commit
3855168876
@ -41,6 +41,9 @@ module H2O
|
||||
|
||||
class ACLHandler
|
||||
|
||||
class TooEarlyError < StandardError
|
||||
end
|
||||
|
||||
class ConditionalHandler
|
||||
def initialize(handler, cond)
|
||||
@handler = handler
|
||||
@ -63,9 +66,13 @@ module H2O
|
||||
end
|
||||
|
||||
def call(env)
|
||||
@acl.each {|ac|
|
||||
return ac.call(env) if ac.satisfy?(env)
|
||||
}
|
||||
begin
|
||||
@acl.each {|ac|
|
||||
return ac.call(env) if ac.satisfy?(env)
|
||||
}
|
||||
rescue TooEarlyError => e
|
||||
return [425, {}, []]
|
||||
end
|
||||
return [399, {}, []]
|
||||
end
|
||||
|
||||
@ -96,6 +103,7 @@ module H2O
|
||||
end
|
||||
|
||||
def addr(forwarded=true)
|
||||
raise TooEarlyError if @env['HTTP_EARLY_DATA']
|
||||
addr = @env['REMOTE_ADDR']
|
||||
if forwarded && (xff = @env['HTTP_X_FORWARDED_FOR'])
|
||||
xaddr = xff.split(",")[0]
|
||||
|
Loading…
x
Reference in New Issue
Block a user