[Seaside] POST fields vs GET fields

Miguel Enrique Cobá Martinez miguel.coba at gmail.com
Wed Mar 17 17:59:59 UTC 2010


I have a external application form that puts fields int the action url
in the form, additional to the body of the form fields:

<html>
  <form 
    method="post"
    action="https://azteca/?_s=seq7xo8ljGiFm8qq&_k=PadTSXes&1">
      <input type="submit" name="aField" value="aValue">
      <input type="hidden" name="otherField" value="otherValue">
  </form>
</html>

The action url is the url in my seaside app that the external app must
return, adding some more values in the process, after redirecting to it.

But when returning to my app, I only get the form body fields, i.e.
aField, otherField, and the url fields (_s and _k) are lost, causing the
app to create a new session because of the lacking of the _s parameter.

I found that this is the point where the fields are lost:

WAKom>>fieldsOf: aKomRequest
	^aKomRequest method = 'POST'
		ifTrue: [ aKomRequest postFields ]
		ifFalse: [ aKomRequest getFields ]

Depending on the method of the form it only takes the corresponding
fields. But I think the correct form is to seaside to include ALL the
fields, in the url and in the form body in the fields available to the
app, independently of the method used to post the form (and in fact
Firefox, sends the values, an aKomRequest, that is processed by
Komanche, also gets them correctly).

Is that correct?

Shouldn't the fieldsOf method be:
WAKom>>fieldsOf: aKomRequest
  ^ aKomRequest postFields addAll: aKomRequest getFields

Or is this forbidden by some RFC standard

Cheers

-- 
Miguel Cobá
http://miguel.leugim.com.mx



More information about the seaside mailing list