On 23/08/12 16:00 +0200, Jiří Stránský wrote:
Hi,

I'm trying to solve the upstream OAuth problem and I could use some opinions 
from people familiar with Aeolus-Image and OAuth.

There was a change in behavior in OAuth gem v0.4.6. I'm not entirely convinced 
whether the change should be considered a bug or a feature and whether the 
change is going to persist or be reverted later. (BTW Rawhide stays away from 
0.4.6 as well and continues to ship 0.4.4 [1].)

Problem description:
--------------------
Our code interacting with OAuth is in this code block [2].

Our code generates resource paths including the site prefix, like
`/imagefactory/builders`
(The prefix would be present even if we used default ARes behavior and didn't 
override the path generation methods.)

The OAuth site for imagefactory is set in settings.yml to this:
`https://localhost:8075/imagefactory`

*OAuth 0.4.4 treats the resource path as full path* on the host and generates 
HTTP request to URL:
`https://localhost:8075/imagefactory/builders`

*OAuth 0.4.6 treats the resource path as relative to OAuth site URL* and 
generates this URL:
`https://localhost:8075/imagefactory/imagefactory/builders`

I'm not sure which OAuth behavior (0.4.4 vs. 0.4.6) is right. Does anyone have 
an opinion on this?

If 0.4.6 is the right behavior, we'll have to change our code [2] to work with 
it. Shouldn't be very hard, but worst case scenario is another 
dependency-version-specific code.

If 0.4.4 is the right behavior, we should stick to 0.4.4. This means fixing the 
OAuth dependency version in aeolus-image.gemspec XOR (if changing gemspec would 
cause some trouble I failed to predict now) fixing the OAuth dependency version 
in both Gemfiles (Conductor, Aeolus-Image).

Any opinions on which road to take are very welcome.

J.

[1] http://isitfedoraruby.com/fedorarpms/rubygem-oauth
[2] 
https://github.com/aeolusproject/aeolus-image-rubygem/blob/6801a52797adae91d141a59c6443b6e79dd56d52/lib/aeolus_image/active_resource_oauth_client.rb#L32

I would lean toward just setting our dep to be 0.4.4, seems the path
that would have the least potential for issues.  IME can choose to use
0.4.6, and we can make adjustments in conductor version once we get to
integrating it.  Since we need to update aeolus-image to a bugfix
release anyway, this would be an easy one to include there as well.

-j

Reply via email to