HTTP URL Validation Plugin Improved by Erik Gregg, Walter McGinnis, Kieran Pilkington

This work is based on Erik's work, but mainly refined for the Kete application (http://kete.net.nz).

Inspired by HTTP URL Validation Plugin by C. Carneiro Jr.

HTTP URL Validation Improved is a Rails gem that allows you to validate a URL entered in a form. It validates if the URL exists by hitting it with a HEAD request.

The improved version includes retries for common patterns when the head request is refused before giving a failure notice.

It also looks up a SITE_URL constant to the user agent in the headers.

There's also the option to also check that the URL returns content of a specified type. Here’s how you can use it your model:

Check for content type:

validates_http_url :url, :content_type => "text/html"

Do not check for content type, just make sure the site is accessible:

validates_http_url :website

Make sure there is a DNS entry for a domain validates_http_domain :domain

Domain must be in 'www.site.com' for or 'site.com' form. No http://, no path.

This example will make sure the value entered for the URL field points to a publicly accessible HTML page, and the photo field points to an image:

validates_http_url :image_url, :content_type => "image"

:content_type checks for a matching substring, so any image will validate

========================

Bug reports and feedback are always welcome.

Please report them via http://github.com/kete/http_url_validation_improved