Are you saying you want to be able to login via a curl request? For that, 
you'll probably have to enable basic authentication: 
http://web2py.com/books/default/chapter/29/9#Access-Control-and-Basic-Authentication.
 
Once logged in, the user record should be available in auth.user.

Anthony

On Thursday, May 31, 2012 12:36:08 AM UTC-4, Sanjeet Roy wrote:
>
> Hii Anthony
> I am able to POST and insert the data in to the database can you help me 
> to get the user email who will be authenticated and i will get the data 
> from the database which are associated with the particular user.
> example:-
> curl -u [email protected] "http:
> 127.0.0.1:8080/myapp/api/getdata/proj/id/1/acty"
>
> I get the information of the proj by using his id by following code but 
> how i get the user information who are loged-in.
>
> @auth.requires_login()
> @request.restful()
> def getdata():
>     def GET(*args,**vars): 
>         patterns = "auto"
>         parser = db.parse_as_rest(patterns,args,vars)
>         if parser.status == 200:
>             return dict(content=parser.response)
>         else:
>             raise HTTP(parser.status,parser.error)
> return locals()
>
>
>
> On Wed, May 30, 2012 at 9:51 AM, Sanjeet Roy <[email protected]>wrote:
>
>> Thanks Anthony now i got it and i am able to post the request by using 
>> the CURL
>>
>>
>> On Wed, May 30, 2012 at 8:23 AM, Anthony <[email protected]> wrote:
>>
>>> If you want to make a POST 
>>> request<http://en.wikipedia.org/wiki/POST_%28HTTP%29>, 
>>> you need some way to send the post data from a client. The client could be 
>>> a browser, in which case you can send post data by submitting a form or by 
>>> sending an Ajax POST request. The client could be another server, in which 
>>> case, you can use something like urllib2.urlopen() in Python (
>>> http://docs.python.org/library/urllib2.html) or the Linux curlcommand-line 
>>> utility (
>>> http://www.yilmazhuseyin.com/blog/dev/curl-tutorial-examples-usage/). 
>>> You cannot make a POST request by simply visiting a URL in a browser -- 
>>> that will only result in a GET request.
>>>
>>> What exactly are you trying to do? How are you intending to make 
>>> requests to this API?
>>>
>>> Anthony
>>>
>>>
>>> On Tuesday, May 29, 2012 10:29:06 PM UTC-4, Sanjeet Roy wrote:
>>>>
>>>> Hi Anthony actually i didn't get you i want ipost the data something 
>>>> like that which are given in the following link :-
>>>>
>>>> http://www.mail-archive.com/**[email protected]/**msg70275.html<http://www.mail-archive.com/[email protected]/msg70275.html>
>>>>
>>>> http://vimeo.com/21133657
>>>>
>>>> http://www.reddit.com/r/**programming/comments/g5hxq/**
>>>> web2py_trunk_has_a_new_**restful_api_that_writes_db/**c1l2ykg<http://www.reddit.com/r/programming/comments/g5hxq/web2py_trunk_has_a_new_restful_api_that_writes_db/c1l2ykg>
>>>>
>>>>
>>>> On Wed, May 30, 2012 at 1:09 AM, Anthony <[email protected]> wrote:
>>>>
>>>>> You could submit the post request via a form on the page, with the 
>>>>> form's action set to the get_person URL, or you could submit via Ajax, 
>>>>> possibly using jQuery.post() (see 
>>>>> http://api.jquery.com/**jQuery.post/<http://api.jquery.com/jQuery.post/>
>>>>> ).
>>>>>
>>>>> Anthony
>>>>>
>>>>>
>>>>> On Tuesday, May 29, 2012 3:01:09 PM UTC-4, Sanjeet Roy wrote:
>>>>>>
>>>>>> Hii Anthony i have the following in my db:-
>>>>>>
>>>>>> db.define_table('person',**Field**('name'),Field('**birthdate','**
>>>>>> date'))
>>>>>> db.define_table('dog',Field('**n**ame'),Field('owner',db.**person)**
>>>>>> ,Field('info','text'))
>>>>>>
>>>>>> and api.py is my controller :-
>>>>>>
>>>>>> @request.restful()
>>>>>> def get_person():
>>>>>>     def GET(id):
>>>>>>         person = db.person(id)
>>>>>>         return person.as_dict() if person else None
>>>>>>     def POST(owner,name,info):
>>>>>>         return db.dog.validate_and_insert(**own**
>>>>>> er=owner,name=name,info=**info)
>>>>>>     return locals()
>>>>>>
>>>>>
>>>> How can i post and insert the data in to the table dog which are given 
>>>> above . 
>>>>
>>>> like that :-    
>>>>
>>>>  curl -i -d 
>>>> "info=aInfo&name=aName&owner=**74"http://localhost:8000/**restful/api/manage_dog
>>>>  <http://localhost:8000/restful/api/manage_dog>
>>>>
>>>>
>>>> which are given in the above link.
>>>>
>>>>  
>>
>

Reply via email to