Sha256: 72d990bdc01c8c1725a6125dcebb5c5383767425a55bd8595eea8de2b3382f26

Contents?: true

Size: 820 Bytes

Versions: 1

Compression:

Stored size: 820 Bytes

Contents

#	This file is part of the "Utopia Framework" project, and is licensed under the GNU AGPLv3.
#	Copyright 2010 Samuel Williams. All rights reserved.
#	See <utopia.rb> for licensing details.

class Rack::Request
	def url_with_path(path = "")
		url = scheme + "://"
		url << host

		if scheme == "https" && port != 443 || scheme == "http" && port != 80
			url << ":#{port}"
		end

		url << path
	end
end

class Rack::Response
	def do_not_cache!
		self["Cache-Control"] = "no-cache, must-revalidate"
		self["Expires"] = Time.now.httpdate
	end
	
	def cache!(duration = 3600)
		unless (self["Cache-Control"] || "").match(/no-cache/)
			self["Cache-Control"] = "public, max-age=#{duration}"
			self["Expires"] = (Time.now + duration).httpdate
		end
	end
	
	def content_type!(value)
		self["Content-Type"] = value.to_s
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
utopia-0.9.58 lib/utopia/extensions/rack.rb