changeset 5:0b703449f192

added config
author sergey
date Thu, 08 May 2014 15:57:11 +0400
parents 699dd88f0ef2
children 2d1a0a75fc49
files config/Benzin.Web.Application.xml config/bootstrap.pm
diffstat 2 files changed, 139 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config/Benzin.Web.Application.xml	Thu May 08 15:57:11 2014 +0400
@@ -0,0 +1,134 @@
+<?xml version='1.0' encoding='utf-8'?>
+<Application id="app" type="Benzin::Web::Application">
+	<requestCharset>utf-8</requestCharset>
+	<securityFactory type="IMPL::Object::Factory">
+		<factory>IMPL::Config</factory>
+		<method>spawn</method>
+		<parameters>security.xml</parameters>
+	</securityFactory>
+	<connections type="HASH">
+		<doxLibrary type="HASH">
+			<dsn>DBI:mysql:database=test;host=localhost;mysql_socket=/tmp/mysql-benzin.sock;mysql_enable_utf8=1
+			</dsn>
+			<user>root</user>
+			<password />
+			<AutoCommit>1</AutoCommit>
+			<mysql_enable_utf8>1</mysql_enable_utf8>
+			<on_connect_do>set names utf8</on_connect_do>
+		</doxLibrary>
+	</connections>
+	<handlers type="ARRAY">
+
+		<!-- Настройка контроллера для вызова методов предметной области -->
+		<item type="IMPL::Web::Handler::RestController">
+
+			<!-- Корневой ресурс -->
+			<resourceFactory>Benzin::Web::Resources::RootResource
+			</resourceFactory>
+		</item>
+
+		<!-- Представления -->
+		<item type="IMPL::Web::Handler::ViewSelector">
+
+			<!-- Используя расширения в именах ресурсов можно форсировать определенный 
+				тип представления -->
+			<types type="HASH">
+				<json>application/json</json>
+				<html>text/html</html>
+			</types>
+
+			<!-- Сами представления -->
+			<views type="ARRAY">
+
+				<!-- HTML, используется шаблонизатор -->
+				<item id="html-view" type="IMPL::Web::Handler::TTPresenter">
+					<contentType>text/html</contentType>
+					<contentCharset>utf-8</contentCharset>
+					<options type="HASH">
+						<INCLUDE_PATH type="ARRAY">
+							<item type="IMPL::Config::Reference">
+								<target>IMPL::Config</target>
+								<AppDir>view</AppDir>
+							</item>
+							<item type="IMPL::Config::Reference">
+								<target>IMPL::Config</target>
+								<AppDir>shared_view</AppDir>
+							</item>
+						</INCLUDE_PATH>
+						<INTERPOLATE>1</INTERPOLATE>
+						<POST_CHOMP>1</POST_CHOMP>
+						<ENCODING>utf-8</ENCODING>
+						<COMPILE_DIR>/tmp/ttc</COMPILE_DIR>
+					</options>
+					<includes type='ARRAY'>
+						<item>components</item>
+					</includes>
+					<globals id="globals" type="HASH">
+						<cdn type="IMPL::Config::Include">cdn.xml</cdn>
+						<site type="HASH">
+							<name>ImpLab.org</name>
+						</site>
+						<aliases type="HASH">
+							<form>IMPL::Web::View::TTFormContainer</form>
+						</aliases>
+					</globals>
+				</item>
+
+				<!-- JSON используется преобразование в JSON -->
+				<item type="IMPL::Web::Handler::JSONView">
+					<transform>Benzin::JSON</transform>
+				</item>
+			</views>
+		</item>
+
+		<item type="IMPL::Web::Handler::LocaleHandler">
+			<locales type="ARRAY">
+				<item>ru-RU</item>
+				<item>en-US</item>
+			</locales>
+			<default>en-US</default>
+		</item>
+
+		<item type="Benzin::Web::EnvAuthHandler" />
+		<!-- модуль аутентификации по cookies -->
+
+		<item type="IMPL::Web::Handler::SecureCookie" />
+
+		<!-- Обработчик ошибок, также использует шаблонизатор -->
+		<item type="IMPL::Web::Handler::ErrorHandler">
+			<contentType>text/html</contentType>
+			<view id="tt-view" type="IMPL::Web::View::TTView">
+				<options type="HASH">
+					<INCLUDE_PATH type="ARRAY">
+						<item type="IMPL::Config::Reference">
+							<target>IMPL::Config</target>
+							<AppDir>view</AppDir>
+						</item>
+						<item type="IMPL::Config::Reference">
+							<target>IMPL::Config</target>
+							<AppDir>shared_view</AppDir>
+						</item>
+					</INCLUDE_PATH>
+					<INTERPOLATE>1</INTERPOLATE>
+					<POST_CHOMP>1</POST_CHOMP>
+					<ENCODING>utf-8</ENCODING>
+					<COMPILE_DIR>/tmp/ttc</COMPILE_DIR>
+				</options>
+				<layoutBase>layout</layoutBase>
+				<viewBase>errors</viewBase>
+				<layout>default</layout>
+				<includes type='ARRAY'>
+					<item>includes</item>
+				</includes>
+				<globals refid="globals" />
+			</view>
+			<errors type="HASH">
+				<error extname="500">500</error>
+				<error extname="404">404</error>
+				<error extname="403">403</error>
+				<error extname="401">401</error>
+			</errors>
+			<fallback>500</fallback>
+		</item>
+	</handlers>
+</Application>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config/bootstrap.pm	Thu May 08 15:57:11 2014 +0400
@@ -0,0 +1,5 @@
+use File::Spec();
+
+use lib File::Spec->catdir($IMPL::Config::AppBase, '../Impl/Lib');
+use lib File::Spec->catdir($IMPL::Config::AppBase, '../benzin/lib');
+