Class: Twimock::API::OAuth::RequestToken
- Inherits:
-
Twimock::API::OAuth
- Object
- Twimock::API::OAuth
- Twimock::API::OAuth::RequestToken
- Defined in:
- lib/twimock/api/oauth/request_token.rb
Constant Summary collapse
- METHOD =
"POST"- PATH =
"/oauth/request_token"- AUTHORIZATION_REGEXP =
/OAuth oauth_callback=\"(.*)\", oauth_consumer_key=\"(.*)\", oauth_nonce=\"(.*)\", oauth_signature=\"(.*)\", oauth_signature_method=\"(.*)\", oauth_timestamp=\"(.*)\", oauth_version=\"(.*)\".*/
Instance Method Summary collapse
Methods inherited from Twimock::API::OAuth
Constructor Details
This class inherits a constructor from Twimock::API::OAuth
Instance Method Details
#call(env) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/twimock/api/oauth/request_token.rb', line 14 def call(env) return super unless called?(env) begin = env["authorization"] || env["HTTP_AUTHORIZATION"] oauth = () consumer_key = oauth.consumer_key raise Twimock::Errors::InvalidConsumerKey.new if !validate_consumer_key(consumer_key) application = Twimock::Application.find_by_api_key(consumer_key) rescue Twimock::Errors::InvalidConsumerKey => @error return rescue => @error return internal_server_error end request_token = create_request_token(application.id) status = "200 OK" params = { oauth_token: request_token.string, oauth_token_secret: request_token.secret, oauth_callback_confirmed: true } body = params.inject([]){|a, (k, v)| a << "#{k}=#{v}"}.join('&') header = { "Content-Length" => body.bytesize.to_s } [ status, header, [ body ] ] end |