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

Revision 6149, 1.7 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 libraries
4require_once __DIR__.'/../library/tonic/lib/tonic.php';
5require_once(__DIR__."/../Errors.php");
6
7// load adapters
8require_once(__DIR__."/../adapters/ExpressoAdapter.php");
9require_once(__DIR__."/../adapters/MailAdapter.php");
10require_once(__DIR__."/../adapters/CatalogAdapter.php");
11
12// Load all resources
13require_once(__DIR__."/core/ExpressoVersionResource.php");
14require_once(__DIR__."/core/LoginResource.php");
15require_once(__DIR__."/core/LogoutResource.php");
16require_once(__DIR__."/mail/FoldersResource.php");
17require_once(__DIR__."/mail/MessagesResource.php");
18require_once(__DIR__."/mail/CleanTrashResource.php");
19require_once(__DIR__."/mail/SendSupportFeedbackResource.php");
20require_once(__DIR__."/catalog/ContactsResource.php");
21require_once(__DIR__."/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.