Thank you very much for your example !

It is very much appreciated.

Sincerely,
Serge.

On Thu, Nov 17, 2011 at 3:25 AM, Joseph Montanez <[email protected]>wrote:

> You can look at my example, its not in the best shape but worth looking at.
>
>
> https://github.com/gorilla3d/Pawalicious/blob/master/admin/item/edit.vala#L55
>
> As a big note libsoup's way of handling Post/Get is horrible.
> Uploading files and getting the post as well as get parameters is
> blah.
>
> On Sat, Nov 12, 2011 at 11:42 PM, Serge Hulne <[email protected]>
> wrote:
> > Thanks a lot !
> >
> > That is just what I neede to get started.
> >
> > Thanks,
> >
> > Serge.
> >
> >
> >
> > On Sun, Nov 13, 2011 at 3:02 AM, Alexandre Rosenfeld <
> > [email protected]> wrote:
> >
> >> Couldn't find anything, so I just wrote a small app to do that. Probably
> >> has a few bugs, but it's only to show the idea. Also pasted at
> >> http://pastebin.com/6U2JGmuh
> >>
> >>
> >>    1.  void default_handler (Soup.Server server, Soup.Message msg,
> string
> >>     path,
> >>    2.                       GLib.HashTable<string,string?>? query, Soup.
> >>    ClientContext client)
> >>    3.  {
> >>    4.   var form_data = query;
> >>    5.    if (msg.method == "POST") {
> >>    6.     msg.request_body.flatten();
> >>    7.      form_data = Soup.Form.decode((string) msg.request_body.data);
> >>    8.   }
> >>    9.    var user = (form_data != null) ? form_data.get("user") : "";
> >>    10.
> >>    11.    var welcome = "";
> >>    12.   if (user != null)
> >>    13.      welcome = "<p>Welcome %s</p>".printf(user);
> >>    14.
> >>    15.    var data = new HashTable<string, string>(str_hash, str_equal);
> >>    16.   data.set("$user", user);
> >>    17.    data.set("$welcome", welcome);
> >>    18.   data.set("$path", path);
> >>    19.
> >>    20.   string response_text = """
> >>    21.     <html>
> >>    22.       <body>
> >>    23.         <p>Current location: $path</p>
> >>    24.         $welcome
> >>    25.         <form name='input' action='$path' method='get'>
> >>    26.           Name: <input type='text' name='user' value='$user' />
> >>    27.         <input type='submit' value='Submit GET' />
> >>    28.         </form>
> >>    29.         <form name='input' action='$path' method='post'>
> >>    30.           Name: <input type='text' name='user' value='$user' />
> >>    31.         <input type='submit' value='Submit POST'/>
> >>    32.         </form>
> >>    33.       </body>
> >>    34.     </html>""";
> >>     35.
> >>    36.   data.foreach((k, v) => {
> >>    37.      response_text = response_text.replace(k, v);
> >>    38.   });
> >>    39.
> >>    40.   msg.set_response ("text/html", Soup.MemoryUse.COPY,
> >>    41.                      response_text.data);
> >>    42.  }
> >>    43.
> >>    44. int main (string[] args) {
> >>    45.      var port = 8088;
> >>    46.     var server = new Soup.Server (Soup.SERVER_PORT, port);
> >>    47.      server.add_handler ("/", default_handler);
> >>    48.     stdout.printf("Serving on http://localhost:%d\n";, port);
> >>    49.      server.run ();
> >>    50.
> >>    51.      return 0;
> >>    52.  }
> >>
> >>
> >> *Alexandre Rosenfeld*
> >>
> >> On Sat, Nov 12, 2011 at 21:50, Serge Hulne <[email protected]>
> wrote:
> >>
> >>> Hi,
> >>>
> >>> I am looking for a slightly more complete example than the one from the
> >>> Vala tutorials on "Soup".
> >>>
> >>> More particularly, I am looking for a snippet that would show how to
> get
> >>> (and possibly decode) the data sent via HTTP from an HTML web form (in
> a
> >>> browser) to a (Soup-based) server.
> >>>
> >>> Thanks !
> >>>
> >>> Serge.
> >>>
> >>> _______________________________________________
> >>> vala-list mailing list
> >>> [email protected]
> >>> http://mail.gnome.org/mailman/listinfo/vala-list
> >>>
> >>>
> >>
> >
> > _______________________________________________
> > vala-list mailing list
> > [email protected]
> > http://mail.gnome.org/mailman/listinfo/vala-list
> >
> >
>
>
>
> --
> Joseph Montanez
> Web Developer
> Gorilla3D
> Design, Develop, Deploy
>
_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to