This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Rack | |
# | |
# The LieServer is a simple Rack middleware app which allows one to spoof | |
# the +Server+ header in responses for every request, requests to certain | |
# sub-directories or paths which match a regular expression. | |
# | |
# Be deceitful to would be attackers, tell them your running IIS 3.0. | |
# | |
# MIT License - Hal Brodigan (postmodern.mod3 at gmail.com) | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Rack | |
# | |
# RefererControl is a Rack middleware app which restricts access to paths | |
# based on the Referer header. Using RefererControl you can make sure | |
# users follow the intended flow of a website. If a controlled path is | |
# visited with an unacceptable Referer URI, then a simple 307 Redirect | |
# response is returned. | |
# | |
# RefererControl should also make Cross Site Request Forgery (CSRF) a | |
# little more difficult to exploit; but not impossible using JavaScript. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Rack | |
class GoogleAnalytics | |
TRACKING_CODE = <<-EOCODE | |
<script type="text/javascript"> | |
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); | |
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); | |
</script> | |
<script type="text/javascript"> | |
try { | |
var pageTracker = _gat._getTracker("{{ID}}"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Rack | |
class NoIE | |
def initialize(app, options = {}) | |
@app = app | |
@options = options | |
@options[:redirect] ||= 'http://www.microsoft.com/windows/internet-explorer/default.aspx' | |
@options[:minimum] ||= 7.0 | |
end | |
def call(env) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Rack | |
class RequestStatisticTracker | |
def initialize(app) | |
@app = app | |
end | |
def call(env) | |
status, headers, response = @app.call(env) | |
path = env['REQUEST_PATH'] || env['PATH_INFO'] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Harmony | |
# Allows accessing config variables from harmony.yml like so: | |
# Harmony[:domain] => harmonyapp.com | |
def self.[](key) | |
unless @config | |
raw_config = File.read(RAILS_ROOT + "/config/harmony.yml") | |
@config = YAML.load(raw_config)[RAILS_ENV].symbolize_keys | |
end | |
@config[key] | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# = Rails Title Helper | |
# | |
# Provides helpers for managing page title. | |
# | |
# Category:: Rails | |
# Package:: Helpers | |
# Author:: Simone Carletti <weppos@weppos.net> | |
# Copyright:: 2007-2008 The Authors | |
# License:: MIT License |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require(File.dirname(__FILE__) + '/../config/environment') unless defined?(Rails) | |
class DbIndexes | |
def initialize(app, message = "Database Indexes") | |
@app = app | |
@message = message | |
end | |
def call env |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Rack | |
# A rack middleware for validating HTML via w3c validator | |
class Validate | |
def initialize( app ) | |
@app = app | |
end | |
def call( env ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Hi! I'am rack middleware! | |
# I was born for show right way to you JavaScript | |
# My author's name was Aleksandr Koss. Mail him at kossnocorp@gmail.com | |
# Nice to MIT you! | |
require(File.dirname(__FILE__) + '/../config/environment') unless defined?(Rails) | |
class RoutesJs | |
def initialize app, options = {} |