source: sandbox/webservice/api/rest/dispatch.php @ 6146

Revision 6146, 1.6 KB checked in by niltonneto, 12 years ago (diff)

Ticket #2507 - Restruturado diretório para alinhamento com projeto REST.

  • Property svn:executable set to *
Line 
1<?php
2
3// load Tonic library
4require_once __DIR__.'/../library/tonic/lib/tonic.php';
5
6// load Expresso classes and service adapters
7require_once("./../utils/Errors.php");
8require_once("./../utils/Expresso.php");
9require_once("./../services/MailServiceAdapter.php");
10require_once("./../services/CatalogServiceAdapter.php");
11
12// Load all resources
13require_once("./core/ExpressoVersionResource.php");
14require_once("./core/LoginResource.php");
15require_once("./core/LogoutResource.php");
16require_once("./mail/FoldersResource.php");
17require_once("./mail/MessagesResource.php");
18require_once("./mail/CleanTrashResource.php");
19require_once("./mail/SendSupportFeedbackResource.php");
20require_once("./catalog/ContactsResource.php");
21require_once("./catalog/ContactPictureResource.php");
22
23//Retrieveing the mapping of the URIs and his respectives classNames and classPath
24$config = parse_ini_file( __DIR__ . '/../config/Tonic.srv', true );
25$autoload = array();
26$classpath = array();
27
28foreach( $config as $uri => $classFile )
29        foreach( $classFile as $className => $filePath )
30        {
31                $autoload[ $uri ] = $className;
32                $classpath[ $className ] = $filePath;
33        }
34
35        $request = new Request(array(
36                        'baseUri' => dirname($_SERVER['SCRIPT_NAME']),
37                        'autoload' => $autoload
38        ));
39       
40try {
41        $resource = $request->loadResource();
42        $response = $resource->exec($request);
43       
44} catch (ResponseException $e) {
45       
46        switch ($e->getCode()) {
47               
48                case Response::UNAUTHORIZED:
49                        $response = $e->response($request);
50                        $response->addHeader('WWW-Authenticate', 'Basic realm="Tonic"');
51                        break;
52                default:
53                        $response = Errors::getResponse($request, $e);
54        }
55}
56
57$response->output();
58
59?>
Note: See TracBrowser for help on using the repository browser.