# File lib/puppet/network/http/rack/rest.rb, line 82
82:   def extract_client_info(request)
83:     result = {}
84:     result[:ip] = request.ip
85: 
86:     # if we find SSL info in the headers, use them to get a hostname.
87:     # try this with :ssl_client_header, which defaults should work for
88:     # Apache with StdEnvVars.
89:     if dn = request.env[Puppet[:ssl_client_header]] and dn_matchdata = dn.match(/^.*?CN\s*=\s*(.*)/)
90:       result[:node] = dn_matchdata[1].to_str
91:       result[:authenticated] = (request.env[Puppet[:ssl_client_verify_header]] == 'SUCCESS')
92:     else
93:       result[:node] = resolve_node(result)
94:       result[:authenticated] = false
95:     end
96: 
97:     result
98:   end