Thanks Massimo for looking into this.

ticket opened:
http://code.google.com/p/web2py/issues/detail?id=1080&thanks=1080&ts=1349992678


On Thu, Oct 11, 2012 at 5:05 PM, Massimo Di Pierro <
[email protected]> wrote:

> Please open a ticket about this and I will look in detail asap.
>
>
> On Thursday, 11 October 2012 09:44:04 UTC-5, Adi wrote:
>
>> Tried 2.09 nightly build on a completely different (redhat) server and
>> still getting redirect, while post works as expected on a local rocket.
>>
>> Any hint where to look for a problem please?
>>
>> using:
>> curl --user [email protected]:pass -d "FirstName=Tim5&LastName=Json"http
>> ://crm.domain.com/api/**customer.json<http://crm.domain.com/api/customer.json>
>>
>> You are being redirected <a href="/crm/default/user/login?**
>> _next=/crm/webservices/api/**customer.json
>>
>> Thanks,
>> Adnan
>>
>>
>> On Wed, Oct 10, 2012 at 10:46 AM, Adi <[email protected]> wrote:
>>
>>> This is an example from book, where authentication and posting into
>>> database work good on a local server.
>>>
>>> Once I moved the code to production redhat linux server, where we have
>>> routes.py as bellow all I get as result is a login redirect:
>>> You are being redirected <a href="/user/login?_next=/**
>>> webservices/api/customer.json%**3FFirstName%3DTim5%26LastName%**3DJson">
>>> here</a>
>>>
>>> If I remove authentication (@auth.requires_login() and
>>> @auth.requires_permission('**insert customer through webservice')) on
>>> production server, records are inserted properly.
>>>
>>> Tried adding default and webservices controllers into application
>>> specific routes.py, but it didn't help.
>>>
>>> Any suggestions what should I do?
>>>
>>> Thanks,
>>> Adnan
>>>
>>> tried in both, default.py and webservices.py controllers:
>>>
>>> auth.settings.allow_basic_**login = True
>>> @auth.requires_login()
>>> @auth.requires_permission('**insert customer through webservice')
>>> @request.restful()
>>> def api():
>>>     response.view = 'generic.'+request.extension
>>>
>>>     def GET(*args,**vars):
>>>         patterns = [
>>>             "/members[customer]",
>>>             "/member_fn/{customer.**FirstName.startswith}",
>>>             "/member_ln/{customer.**LastName.startswith}",
>>>             "/member/{customer.FirstName}/**:field",
>>>             "/member/{customer.FirstName}/**orders[customer_order.**
>>> customer_id]",
>>>             "/member/{customer.FirstName}/**
>>> order[customer_order.customer_**id]/{customer_order.id}",
>>>             "/member/{customer.FirstName}/**
>>> order[customer_order.customer_**id]/{customer_order.id}/:**field"
>>>             ]
>>>         parser = db.parse_as_rest(patterns,args**,vars)
>>>         if parser.status == 200:
>>>             return dict(content=parser.response)
>>>         else:
>>>             raise HTTP(parser.status,parser.erro**r)
>>>     def POST(table_name,**vars):
>>>         if table_name == 'customer':
>>>             return db.customer.validate_and_**insert(**vars)
>>>         elif table_name == 'customer_order':
>>>             return db.customer_order.validate_**and_insert(**vars)
>>>         else:
>>>             raise HTTP(400)
>>>     return locals()
>>>
>>>
>>>
>>>
>>>
>>> web2py folder: routes.py
>>> routers = dict(
>>>     # base router
>>>     BASE = dict(
>>>         default_application = 'welcome', domains = {'crm.domain.com':
>>> 'crm' }
>>>     ),
>>> )
>>>
>>>
>>>
>>> crm app folder: routes.py (deleted)
>>>
>>>
>>> Terminal test:
>>>
>>>
>>> asm21:~ adnan$ curl --user [email protected]:pass -d
>>> "FirstName=Tim5&LastName=Json" 
>>> http://crm.domain.com/api/**customer.json<http://crm.domain.com/api/customer.json>
>>> Result: You are being redirected <a href="/user/login?_next=/api/**
>>> customer.json%3FFirstName%**3DTim5%26LastName%3DJson">here**</a>
>>>
>>> asm21:~ adnan$ curl --user [email protected]:pass -d
>>> "FirstName=Tim5&LastName=Json" http://crm.domain.com/webservi**ces/api/
>>> customer.json
>>> Result: You are being redirected <a href="/user/login?_next=/**
>>> webservices/api/customer.json%**3FFirstName%3DTim5%26LastName%**3DJson">
>>> here</a>
>>>
>>>
>>>
>>>
>>>
>>>   --
>
>
>
>

-- 



Reply via email to