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

Revision 6307, 2.2 KB checked in by niltonneto, 12 years ago (diff)

Ticket #2507 - Implementado AttachmentResource? para permitir download de anexo.

  • Property svn:executable set to *
Line 
1<?php
2
3// load libraries
4require_once(__DIR__.'/../library/tonic/lib/tonic.php');
5require_once(__DIR__.'/../library/utils/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/AddFolderResource.php");
19require_once(__DIR__."/mail/DelFolderResource.php");
20require_once(__DIR__."/mail/RenameFolderResource.php");
21require_once(__DIR__."/mail/CleanTrashResource.php");
22require_once(__DIR__."/mail/AttachmentResource.php");
23require_once(__DIR__."/mail/SendSupportFeedbackResource.php");
24require_once(__DIR__."/catalog/ContactsResource.php");
25require_once(__DIR__."/catalog/ContactPictureResource.php");
26
27//Retrieveing the mapping of the URIs and his respectives classNames and classPath
28$config = parse_ini_file( __DIR__ . '/../config/Tonic.srv', true );
29$autoload = array();
30$classpath = array();
31
32foreach( $config as $uri => $classFile )
33        foreach( $classFile as $className => $filePath )
34        {
35                $autoload[ $uri ] = $className;
36                $classpath[ $className ] = $filePath;
37        }
38
39        $request = new Request(array(
40                        'baseUri' => dirname($_SERVER['SCRIPT_NAME']),
41                        'autoload' => $autoload
42        ));
43       
44try {
45        $resource = $request->loadResource();
46        $response = $resource->exec($request);
47       
48} catch (ResponseException $e) {
49       
50        switch ($e->getCode()) {
51               
52                case Response::UNAUTHORIZED:
53                        $response = $e->response($request);
54                        $response->addHeader('WWW-Authenticate', 'Basic realm="Tonic"');
55                        break;
56                default:
57                       
58                        $response = new Response($request);
59                        $response->code = Response::OK;
60                        $response->addHeader('content-type', 'application/json');
61                        if($request->id)
62                                $body['id']     = $request->id;
63                       
64                        $body['error'] = array("code" => "".$e->getCode(), "message" => $e->getMessage());
65                        $response->body = json_encode($body);
66        }
67}
68
69$response->output();
70
71?>
Note: See TracBrowser for help on using the repository browser.