Hi I have just installed InstantRails and (after some work) have got my existing app working. I am now getting BAD CLIENT errors on some form posts but have no idea why. Having looked at the mongrel docs it seems I should be able to get to the bottom of this if I can get debug set to true but I cannot see where to do this in InstantRails? Any pointers? Thanks Dave -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/instantrails-users/attachments/20061009/c6e98c16/attachment.html
On 10/9/06, Dave Havard <david.havard at gmail.com> wrote:> > Hi > > I have just installed InstantRails and (after some work) have got my > existing app working. I am now getting BAD CLIENT errors on some form posts > but have no idea why. Having looked at the mongrel docs it seems I should be > able to get to the bottom of this if I can get debug set to true but I > cannot see where to do this in InstantRails? > > Any pointers? >You''ll need to start mongrel by hand. Use Instant Rails to open a ruby console window (menu command "Rails Applications>Open Ruby Console Window"), change your current directory to move in to your Rails application''s root directory, and then type in the "mongrel_rails" command with whatever options you like. Curt -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/instantrails-users/attachments/20061009/630da73f/attachment.html
Thank you Curt. That has got debugging working but has made things no clearer on why some of my form posts are not working. The post does not seem to get logged - only reported as a bad client to the console window. Any ideas what I should be looking for? My view contains the following code: <% @title = "Sign up" %> <%= error_messages_for ''user'' %> <%= form_tag %> <table> <tr> <td>Username:</td> <td><%= text_field("user", "username") %></td> </tr> <tr> <td>Password:</td> <td><%= password_field("user", "password") %></td> </tr> <tr> <td>Confirm Password:</td> <td><%= password_field("user", "confirm_password") %></td> </tr> <tr> <td>Email Address:</td> <td><%= text_field("user", "email") %></td> <tr> <td>First Name:</td> <td><%= text_field("user", "first_name") %></td> </tr> <tr> <td>Last Name:</td> <td><%= text_field("user", "last_name") %></td> </tr> <tr> <td>Screen Name:</td> <td><%= text_field("user", "screen_name") %></td> </tr> <tr> <td></td> <td><input type="submit" value="Sign up"/></td> </tr> </table> <%= end_form_tag %> Whilst my controller looks like: def signup if request.get? @user = User.new else if params[:user][:password] != params[:user][:confirm_password] flash[:notice] = "Passwords do not match!" else @user = User.new(params[:user]) if @user.save session[:user] = @user.id redirect_to :controller => "pages", :action => "show", :id => 1 end end end end The get part of the view is being rendered fine. Only when I post back is it failing. Thanks Dave On 10/10/06, Curt Hibbs <curt.hibbs at gmail.com> wrote:> > On 10/9/06, Dave Havard <david.havard at gmail.com> wrote: > > > > Hi > > > > I have just installed InstantRails and (after some work) have got my > > existing app working. I am now getting BAD CLIENT errors on some form posts > > but have no idea why. Having looked at the mongrel docs it seems I should be > > able to get to the bottom of this if I can get debug set to true but I > > cannot see where to do this in InstantRails? > > > > Any pointers? > > > > You''ll need to start mongrel by hand. Use Instant Rails to open a ruby > console window (menu command "Rails Applications>Open Ruby Console Window"), > change your current directory to move in to your Rails application''s root > directory, and then type in the "mongrel_rails" command with whatever > options you like. > > Curt > > _______________________________________________ > Instantrails-users mailing list > Instantrails-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/instantrails-users > >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/instantrails-users/attachments/20061010/19491512/attachment-0001.html
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dave Havard wrote:> Thank you Curt. > > That has got debugging working but has made things no clearer on why > some of my form posts are not working. The post does not seem to get > logged - only reported as a bad client to the console window. Any ideas > what I should be looking for? My view contains the following code:According to http://mongrel.rubyforge.org/faq.html, a BAD CLIENT error means the web browser sent an invalid HTTP request; it has nothing to do with rails. What browser are you using? - From that FAQ: What does BAD CLIENT mean? It means that a request came in which Mongrel rejects because it doesn?t follow the RFC grammar. Mongrel is pretty relaxed about most requests, but in order to block the majority of security attacks for web servers it is strict about characters used, header formats, status line formats, etc. This is also based on matching the RFC?s grammar specification to a Ragel grammar specification, so it?s easy to compare. If you need to know why the client is triggering this, then simply hit your Mongrel processes with USR1 signals and they?ll log the full request data and parameters that were collected. Then, if you think the request is valid send me this data and I?ll look. If it?s not valid than fix the client. Mongrel takes the stance that all clients are written by software developers and that they should follow the standard. By doing this it reduces the bugs and potential security holes found in many other web servers. It also means that if you absolutely have to allow a bad client, then you?ll need to not use Mongrel. - -- David Morton Maia Mailguard - http://www.maiamailguard.com Morton Software Design and Consulting - http://www.dgrmm.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFK7BVUy30ODPkzl0RAma3AKDRcqL3oQJ5tvk3XyX1YJzuJHkvuQCglr2d 1fx9ureC6X0dzEDqSo1JgaM=397F -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Oct 10, 2006, at 9:38 AM, David Morton wrote:> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Dave Havard wrote: >> Thank you Curt. >> >> That has got debugging working but has made things no clearer on why >> some of my form posts are not working. The post does not seem to get >> logged - only reported as a bad client to the console window. Any >> ideas >> what I should be looking for? My view contains the following code: > > > According to http://mongrel.rubyforge.org/faq.html, a BAD CLIENT > error means the > web browser sent an invalid HTTP request; it has nothing to do with > rails.actually, now that I think about it, perhaps a request has a bad character in it, or isn''t properly url encoded? David Morton Maia Mailguard http://www.maiamailguard.com mortonda at dgrmm.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) iD8DBQFFK+4DUy30ODPkzl0RAs07AKC41WT2g+7DCvw9wudA1pFe3UN3YgCgkLVP SmJILQExLXV0SppFk96d2SY=qYsA -----END PGP SIGNATURE-----
Thanks David So are they saying that mongrel will fail if the browser is not right? I am testing on IE6.0.29 and FF1.5. Would be surprised if mongrel does not work with these browsers - how could it be used in production? Have you heard about this problem much? Seems like mongrel is become the server of choice for rails, but even the scaffold code is failing - can''t believe it is rails or this issue would be plastered all over the net by now. At the same time a web server which will not work with FF1.5 seem unrealistic. Could it be something else? Maybe apache is changing something before passing the request to mongrel? Given InstantRails is installing elsewhere without fuss i''ll test on some more machines... Thanks for your help. Dave On 10/10/06, David Morton <mortonda at dgrmm.net> wrote:> > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > > On Oct 10, 2006, at 9:38 AM, David Morton wrote: > > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > Dave Havard wrote: > >> Thank you Curt. > >> > >> That has got debugging working but has made things no clearer on why > >> some of my form posts are not working. The post does not seem to get > >> logged - only reported as a bad client to the console window. Any > >> ideas > >> what I should be looking for? My view contains the following code: > > > > > > According to http://mongrel.rubyforge.org/faq.html, a BAD CLIENT > > error means the > > web browser sent an invalid HTTP request; it has nothing to do with > > rails. > > actually, now that I think about it, perhaps a request has a bad > character in it, or isn''t properly url encoded? > > > > David Morton > Maia Mailguard http://www.maiamailguard.com > mortonda at dgrmm.net > > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.5 (Darwin) > > iD8DBQFFK+4DUy30ODPkzl0RAs07AKC41WT2g+7DCvw9wudA1pFe3UN3YgCgkLVP > SmJILQExLXV0SppFk96d2SY> =qYsA > -----END PGP SIGNATURE----- > _______________________________________________ > Instantrails-users mailing list > Instantrails-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/instantrails-users >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/instantrails-users/attachments/20061011/009bb731/attachment.html