(function() {
	'use strict';

	function definition(abstractHandler) {
		var regexMatchType = /^text\/html/,
			container      = document.createElement('body');

		function parseHtml(source) {
			var fragment = document.createDocumentFragment(),
				node;

			container.innerHTML = source;

			while(node = container.firstElementChild) {
				fragment.appendChild(node);
			}

			return fragment;
		}

		function HandlerHtml() {}

		HandlerHtml.prototype = {
			validate: function(type) {
				return regexMatchType.test(type);
			},
			process: function(dependency) {
				provide(function() { return parseHtml(dependency.source); });
			}
		};

		return new (HandlerHtml.extends(abstractHandler));
	}

	provide([ '/demand/abstract/handler' ], definition);
}());
@@ -524,16 +524,164 @@
 ;%0A%09%09%09%7D,%0A
+%09%09%09onPreRequest: function(dependency) %7B%0A%09%09%09%09var url  = dependency.url;%0A%0A%09%09%09%09dependency.url = url.slice(-5) !== '.html' ? url + '.html' : url;%0A%09%09%09%7D,%0A
 %09%09%09proce

add auto-append of .html to /handler/html