Resource
========

.. module:: simplecouchdb.resource

This module provide a common interface for all CouchDB request. This
module make HTTP request using :mod:`httplib2` module.

Example: 

    >>> resource = CouchdbResource()
    >>> info = resource.get()
    >>> info['couchdb']
    u'Welcome'


CouchdbResource class
---------------------

.. autoclass:: simplecouchdb.resource.CouchdbResource

    .. automethod:: simplecouchdb.resource.CouchdbResource.__init__

    .. automethod:: simplecouchdb.resource.CouchdbResource.clone

    .. automethod:: simplecouchdb.resource.CouchdbResource.__call__

    .. automethod:: simplecouchdb.resource.CouchdbResource.request

    .. automethod:: simplecouchdb.resource.CouchdbResource.get

    .. automethod:: simplecouchdb.resource.CouchdbResource.head

    .. automethod:: simplecouchdb.resource.CouchdbResource.delete

    .. automethod:: simplecouchdb.resource.CouchdbResource.post

    .. automethod:: simplecouchdb.resource.CouchdbResource.put


Exceptions
----------

.. autoexception:: restclient.rest.ResourceNotFound
.. autoexception:: simplecouchdb.resource.ResourceConflict
.. autoexception:: restclient.rest.RequestFailed
.. autoexception:: simplecouchdb.resource.PreconditionFailed


.. seealso::

    Module :mod:`restclient`
        Documentation of the :mod:`restclient` module, 
        check `py-restclient <http://py-restclient.e-engura.org/>`_ for more information

