Accessing the Post body/content from an expired/cached page before initialRequest

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Accessing the Post body/content from an expired/cached page before initialRequest

Ramshreyas
Dear all,

I am developing a (non-commercial) web application for mobiles on
Phar1.0/seaside30 (hosted on seaside-hosting for now, cheers to this
brilliant service).

I would like the user to bookmark a transaction page on her phone, add
it to her home screen and use it like any other app. She will enter data
for submission before any callbacks/page-loads are performed.

This means that she will almost always enter data into a form on an
expired page and submit.

I find that the WARequest object available to me from
RootTask>>initialRequest has its Post body stripped and is converted to
a 'Get' request at that stage.

Is this true? I am a newb, ( to web-development itself, seaside is my
first framework! Avoided programming in general until I found, and fell
in love with, smalltalk) so perhaps I simply don't understand how the
information is encoded into the WARequest object, or in the Post method
in general.

I tried something like:

RootTask>>initialRequest: aRequest

     | expiredFormData |

     expiredFormData := aRequest bodyDecoded (or aRequest postFields..,
aRequest rawBody etc )

The body is nil, as confirmed upon putting a halt here and inspecting
the WARequest object. It also seems to have converted the original Post
method into a Get. This would make sense given the instructions for
'recovering from an expired session' that use updateUrl (and hence Get)....

When I (tentatively) examined the full stack, I found something that
seemed to indicate the HTTPRequest is 'converted' to a 'native' request
way before RootTask>>initialRequest is called - I'm out of my depth
here, and am wary of monkeypatching the innards without some guidance.

How would one capture Post data from an expired page and decode it?
Where is the best place to intercept the incoming request?

Thanks, and sorry if I am posting below the level of this forum!

ram
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Accessing the Post body/content from an expired/cached page before initialRequest

Philippe Marschall
Am 13. März 2012 06:59 schrieb Ramshreyas <[hidden email]>:

> Dear all,
>
> I am developing a (non-commercial) web application for mobiles on
> Phar1.0/seaside30 (hosted on seaside-hosting for now, cheers to this
> brilliant service).
>
> I would like the user to bookmark a transaction page on her phone, add it to
> her home screen and use it like any other app. She will enter data for
> submission before any callbacks/page-loads are performed.
>
> This means that she will almost always enter data into a form on an expired
> page and submit.
>
> I find that the WARequest object available to me from
> RootTask>>initialRequest has its Post body stripped and is converted to a
> 'Get' request at that stage.
>
> Is this true? I am a newb, ( to web-development itself, seaside is my first
> framework! Avoided programming in general until I found, and fell in love
> with, smalltalk) so perhaps I simply don't understand how the information is
> encoded into the WARequest object, or in the Post method in general.
>
> I tried something like:
>
> RootTask>>initialRequest: aRequest
>
>    | expiredFormData |
>
>    expiredFormData := aRequest bodyDecoded (or aRequest postFields..,
> aRequest rawBody etc )
>
> The body is nil, as confirmed upon putting a halt here and inspecting the
> WARequest object. It also seems to have converted the original Post method
> into a Get. This would make sense given the instructions for 'recovering
> from an expired session' that use updateUrl (and hence Get)....

Are you using Comache or KomLight? Do you really need the whole body
or would the fields (WARequest >> #fields / #queryFields /
#postFields) work as well?

> When I (tentatively) examined the full stack, I found something that seemed
> to indicate the HTTPRequest is 'converted' to a 'native' request way before
> RootTask>>initialRequest is called - I'm out of my depth here, and am wary
> of monkeypatching the innards without some guidance.
>
> How would one capture Post data from an expired page and decode it? Where is
> the best place to intercept the incoming request?
>
> Thanks, and sorry if I am posting below the level of this forum!

Don't worry.

Cheers
Philippe
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside