webmcp

view framework/env/auth/openid/_curl.lua @ 23:3a6fe8663b26

Code cleanup and documentation added; Year in copyright notice changed to 2009-2010

Details:
- Changed quoting style in auth.openid.xrds_document{...}
- Fixed documentation for auth.openid.initiate{...}
- Added documentation for mondelefant
- Code-cleanup in mondelefant:
-- removed unneccessary lines "rows = PQntuples(res); cols = PQnfields(res);"
-- avoided extra copy of first argument (self) in mondelefant_conn_query
-- no rawget in meta-method "__index" of database result lists and objects
-- removed unreachable "return 0;" in meta-method "__newindex" of database result lists and objects
- Year in copyright notice changed to 2009-2010
- Version string changed to "1.1.1"
author jbe
date Fri Jun 04 19:00:34 2010 +0200 (2010-06-04)
parents 47ddf0f86009
children 3d43a5cf17c1
line source
1 function auth.openid._curl(url, curl_options)
2 -- NOTE: Don't accept URLs starting with file:// or other nasty protocols
3 if not string.find(url, "^[Hh][Tt][Tt][Pp][Ss]?://") then
4 return nil
5 end
6 local options = table.new(curl_options)
7 options[#options+1] = "-i"
8 options[#options+1] = url
9 local stdout, errmsg, status = os.pfilter(nil, "curl", unpack(options))
10 if not stdout then
11 error("Error while executing curl: " .. errmsg)
12 end
13 if status ~= 0 then
14 return nil
15 end
16 local status = tonumber(string.match(stdout, "^[^ ]+ *([0-9]*)"))
17 local headers = string.match(stdout, "(\r?\n.-\r?\n)\r?\n")
18 local body = string.match(stdout, "\r?\n\r?\n(.*)")
19 return status, headers, body
20 end

Impressum / About Us