Newbie question - how to resolve 'wrong status line' error

38 views
Skip to first unread message

iDev

unread,
May 24, 2012, 6:13:42 AM5/24/12
to Ruby on Rails: Talk
Hi everyone

I'm learning Ruby on Rails and wanted to perform oAuth as follows for
a third party API. But I get an error as follows:

wrong status line: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN
\">"


//Code snippet
require 'net/https'
require 'uri'

class UsersController < ApplicationController

def auth
@client_id = params[:client_id]
@auth_url = "https://url/oauth/authorize?
client_id=#{@client_id}"
url = URI.parse(@auth_url )
req = Net::HTTP::Post.new(url.path)
res = Net::HTTP.start(url.host, url.port) {|http|
http.request(req)}

@output = res.body
render :text => @output.inspect

end

end


Any help to proceed is much appreciated.

Matt Jones

unread,
May 25, 2012, 8:19:24 AM5/25/12
to rubyonra...@googlegroups.com


On Thursday, 24 May 2012 06:13:42 UTC-4, iDev wrote:
Hi everyone

I'm learning Ruby on Rails and wanted to perform oAuth as follows for
a third party API. But I get an error as follows:

wrong status line: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN
\">"


//Code snippet
require 'net/https'
require 'uri'

class UsersController < ApplicationController

  def auth
       @client_id = params[:client_id]
       @auth_url = "https://url/oauth/authorize?
client_id=#{@client_id}"


Looks like you've hit this issue:


Adding the use_ssl option, as that example does, should sort things out.

BTW, you may want to look into using one of the existing OAuth gems - there aren't many good reasons to be re-inventing this particular wheel.

--Matt Jones 
Reply all
Reply to author
Forward
0 new messages