Module WebDevHelper
In: lib/cgi/pathmap.rb

Methods

Public Instance methods

[Source]

    # File lib/cgi/pathmap.rb, line 19
19:         def docroot
20:                 docroot = env['DOCUMENT_ROOT']
21:                 if(env['QUERY_STRING'].empty?)
22:                         path = env['REQUEST_URI'].urldecode
23:                 else
24:                         path = env['REQUEST_URI'].split('?')[0].urldecode
25:                 end
26:                 if path =~ %r{/~([^/]+)}
27:                         docroot = File.join(Etc.getpwnam($1).dir, (if selfurl.host =~ /evil/: 'evil' else 'web' end))
28:                 end
29:                 docroot
30:         end

[Source]

    # File lib/cgi/pathmap.rb, line 32
32:         def path_translated(path = nil)
33:                 if path.nil?
34:                         path = selfurl.path
35:                 end
36:                 path = CGI.unescape(path)
37:                 path = path.gsub  %r{^/~([^/])+/}, '/'
38:                 File.join(docroot, path)
39:         end

[Source]

    # File lib/cgi/pathmap.rb, line 41
41:         def selfurl
42:                 URI.selfurl(self)
43:         end

[Validate]