summaryrefslogtreecommitdiff
path: root/modules/rest/helpers/rest.php
AgeCommit message (Collapse)Author
2013-03-02#2031 - Add class_exists() before method_exists() if class existence is unknown.shadlaws
- fixed all instances of this in core code - deleted previous Zend Guard Loader workaround in MY_Kohana.php - updated Bootstrap.php to reflect deleted MY_Kohana.php
2013-01-23Enable the profiler and debug output if var/PROFILE exists. ThisBharat Mediratta
provides a quick/easy way for server admins to provide profile output. Fixes #1959.
2013-01-21Update copyright to 2013. Fixes #1953.Bharat Mediratta
2012-02-27Update copyright to 2012. #1822Bharat Mediratta
2011-01-21Update copyright to 2011.Bharat Mediratta
2010-12-16Enable profiling output in the HTML output for REST. Fixes #1535.Bharat Mediratta
2010-12-15Consolidate all the random code into a random helper that offers:Bharat Mediratta
random::hash() random::string() random::percent() random::int() So that we don't have lots of different ways to get random values all over the code. Follow-on to #1527.
2010-11-22Take into account the core.url_suffix configuration setting whenBharat Mediratta
parsing REST urls. This fixes the problem that setting the url suffix breaks REST. Fixes #1500.
2010-08-15We use UTF-8 everywhere. Fixes ticket #1285.Bharat Mediratta
2010-08-09Force the charset to UTF-8 when viewing the HTML form of REST output.Bharat Mediratta
2010-08-08Add a button to the user profile page to let you reset your REST APIBharat Mediratta
key. This is useful if you think it's been compromised in some way. Fixes ticket #1226.
2010-08-08Add JSONP support. You must specify &output=jsonp?callback=<js_function>Bharat Mediratta
Fixes ticket #1205.
2010-07-23More patches as part of #1225. Change the 'core' modules to use the json::replyTim Almdal
method to set the content type header and encode the response as a json object
2010-06-19Oops. Fix up a bad instance of $user in rest::access_key() introducedBharat Mediratta
in my last change.
2010-06-18Simplify rest::get_access_key($user) to rest::access_key() thatBharat Mediratta
returns just the access key string for the active user. That's how we use the API, so keep it simple.
2010-06-15Guard against relationships() not returning an array.Bharat Mediratta
2010-06-11Send back the REST API version as a header. It's on every request,Bharat Mediratta
which sucks, but it's totally unobtrusive because it's a header so that's ok. Decided that the current version is "3.0" although it will surely change before the final 3.0 release. Fixes ticket #1148
2010-06-05Add an advanced setting to allow developers to allow guest access toBharat Mediratta
REST entities.
2010-03-30Rename "access_token" to "access_key" in the code for consistency.Bharat Mediratta
2010-03-30Rename "user_access_tokens" table to "user_access_keys" as step 1 of aBharat Mediratta
multi step process to refer to REST access keys as "access_key" everywhere. Bump the rest module to version 2.
2010-03-03Guests don't get access to the REST API.Bharat Mediratta
2010-03-03Update the copyright to 2010. It's only 3 months into the year :-)Bharat Mediratta
2010-02-20When using rest::reply(), don't call var_export() if the response is empty.Bharat Mediratta
2010-02-14If the return object is empty still return the empty object in the json ↵Tim Almdal
response.
2010-01-31Fix lots of warnings that pop up when we're in E_STRICT mode. They'reBharat Mediratta
mostly issues around uninitialized variables, calling non-static functions in a static context, calling Session functions directly instead of on its singleton, passing non-variables by reference, and subclasses not using the same interface as the parent class.
2010-01-30Protect REST login controller from brute force attacks too.Andy Staudacher
And make the REST auth token less predictable by using a better source for randomness.
2010-01-29Use ? or & as appropriate when appending output=html.Bharat Mediratta
2010-01-29Use var_export instead of print_r for better clarity.Bharat Mediratta
2010-01-22output_type --> outputBharat Mediratta
2010-01-22Reshape the rest code to be more consistent with regards toBharat Mediratta
relationships. Now when you view a resource, it has 4 top level elements: url: the url of this resource resource: array of key value pairs describing the resource members: array of urls to members of this collection relationships: array of array of members. Relationships are a special type of collection that links two different resources together. To remove a relationship, just DELETE its url. To create a relationship, POST to its collection. Individual modules can add their own relationships to any resource via a callback mechanism. Example: Array( [url] => http://g3.com/rest/item/1 [resource] => Array ( [id] => 1 [album_cover_item_id] => 4 [captured] => [created] => 1264056417 [description] => [height] => ... ) [members] => Array( [0] => http://g3.com/rest/item/2 [1] => http://g3.com/rest/item/3 [2] => http://g3.com/rest/item/4 [3] => http://g3.com/rest/item/5 ... ) [relationships] => Array( [tags] => Array ( [0] => http://g3.com/rest/tag_item/2,1 [1] => http://g3.com/rest/tag_item/23,1 ) ) )
2010-01-21whitespace.Bharat Mediratta
2010-01-20Improve robustness in resolve() against bad urls..Bharat Mediratta
2010-01-20Move access key creation into a helper function.Bharat Mediratta
2010-01-19Move rest::send_headers back into Rest_Exception.Bharat Mediratta
2010-01-19Don't send headers if they're already sent.Bharat Mediratta
2010-01-19Use an appropriate json content typeBharat Mediratta
2010-01-19Change rest::url() to take a module name and a resource. The moduleBharat Mediratta
does the rest. This function is symmetrical to rest::resolve.
2010-01-19Add rest::url() for convenience.Bharat Mediratta
2010-01-08Change url parsing in resolve() to ignore the query string.Bharat Mediratta
2010-01-04Further progress on refining the REST server side code.Bharat Mediratta
1) Deal in fully qualified URL resources through the rest interface. All rest methods are now passed the complete url in request->url. 2) Create rest::resolve() which lets individual resource definition code convert a full url into the appropriate matching resource. Implement gallery_rest::resolve() and tag_rest::resolve() 3) Reimplement tag_rest's get() and post() methods. They're much simpler now. 4) Implement the tags_rest helper which supports working with the entire tags collection.
2010-01-03Simplify the REST API code. Here's what I did:Bharat Mediratta
1) Simplify gallery_rest to return flat models, no children and do no validation for now. 2) Flatten the REST replies and use HTTP codes to indicate success/failure instead of additional status messages. 3) Use the message and error code support in the base Exception class, instead of brewing our own in Rest_Exception. 4) Get rid of rest::success() and rest::fail() -- we only need rest::reply() since all failures are covered by throwing an exception. 5) Get rid of /rest/access_key and just use /rest for authentication. 6) Inline and simplify rest::normalize_request since we only use it once 7) Change rest::set_active_user to succeed or throw an exception 8) Extract Rest_Exception::sendHeaders into rest::send_headers() Here's what's currently broken: 1) Data validation. There currently is none 2) Logging. That's gone too 3) image block and tag code is broken 4) Tests are broken 5) No movie support
2010-01-02Remove the Rest_Exception::trigger method.Tim Almdal
2010-01-02Correct file structure tests, Have the tests delete the userid they create ↵Tim Almdal
so as not to impact other tests.
2009-12-31Move the set_active_user and normalize_request methods to rest.php helperTim Almdal
2009-12-31Create a Rest_Exception class and use it to convey status to the client ↵Tim Almdal
instead of calling rest::forbidden and other rest helper error messages.
2009-12-301) Remove the rest::not_found method and replace it with "throw new ↵Tim Almdal
Kohana_404_Exception 2) Don't use the input path to lookup the item via relative_path_cache. Instead use url::get_item_from_uri method.
2009-12-27Clean up validation the check for duplicate names or slugs, finish ↵Tim Almdal
converting the rest API to Kohana 2.4
2009-12-21Added validation to the edit functionality, since we can't trust any inputTim Almdal
2009-12-09Implement the RESTful interface for albums/photos/moviesTim Almdal
2009-12-08Correct the error message when the item is not found; remove the check for ↵Tim Almdal
no request_key (access_token) as athat is treated as public permissions