[Jifty-commit] r6987 - plugins/Jifty-Plugin-OpenID/lib/Jifty/Plugin

Jifty commits jifty-commit at lists.jifty.org
Tue May 12 00:41:04 EDT 2009


Author: c9s
Date: Tue May 12 00:41:03 2009
New Revision: 6987

Modified:
   plugins/Jifty-Plugin-OpenID/lib/Jifty/Plugin/OpenID.pm

Log:
 - provide UserAgent class option for OpenID plugin.


Modified: plugins/Jifty-Plugin-OpenID/lib/Jifty/Plugin/OpenID.pm
==============================================================================
--- plugins/Jifty-Plugin-OpenID/lib/Jifty/Plugin/OpenID.pm	(original)
+++ plugins/Jifty-Plugin-OpenID/lib/Jifty/Plugin/OpenID.pm	Tue May 12 00:41:03 2009
@@ -3,9 +3,8 @@
 
 package Jifty::Plugin::OpenID;
 use base qw/Jifty::Plugin/;
-use LWPx::ParanoidAgent;
 
-our $VERSION = '0.9';
+our $VERSION = '0.10';
 
 =head1 NAME
 
@@ -17,11 +16,39 @@
 
 =cut
 
-sub get_csr {
+sub init {
+    my $self = shift;
+    my %opt = @_;
+    my $ua_class = $self->get_ua_class;
+    eval "require $ua_class";
+}
+
+sub get_ua_class {
+    return Jifty->config->app('OpenIDUA') 
+                || $ENV{OpenIDUserAgent} 
+                || 'LWPx::ParanoidAgent' ;
+}
+
+sub new_ua {
     my $class = shift;
+    my $ua;
+    my $ua_class = $class->get_ua_class;
+    if( $ua_class eq 'LWPx::ParanoidAgent' ) {
+         $ua = LWPx::ParanoidAgent->new(
+                        whitelisted_hosts => [ $ENV{JIFTY_OPENID_WHITELIST_HOST} ]
+                     );
+    }
+    else {
+        $ua = $ua_class->new;
+    }
+    return $ua;
+}
+
 
+sub get_csr {
+    my $class = shift;
     return Net::OpenID::Consumer->new(
-        ua              => LWPx::ParanoidAgent->new( whitelisted_hosts => [ $ENV{JIFTY_OPENID_WHITELIST_HOST} ] ),
+        ua              => $class->new_ua ,
         cache           => Cache::FileCache->new,
         args            => scalar Jifty->handler->cgi->Vars,
         consumer_secret => Jifty->config->app('OpenIDSecret'),


More information about the Jifty-commit mailing list