about summary refs log tree commit diff
path: root/app/controllers
diff options
context:
space:
mode:
authorMatt Jankowski <mjankowski@thoughtbot.com>2017-04-12 12:22:38 -0400
committerEugen <eugen@zeonfederated.com>2017-04-12 18:22:38 +0200
commitaa9079838648e9656a1bf8d10151713686e1c0dd (patch)
treebadfc5eb2d26c8fb53f6457c6408508941023202 /app/controllers
parent0930ce5560749f5ede3aa70aef4130ad1a9dc6ba (diff)
Webfinger resource to extract username from resource string (#1607)
* Add WebfingerResource class to extract usernames

* Use WebfingerResource in xrd#webfinger
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/xrd_controller.rb10
1 files changed, 1 insertions, 9 deletions
diff --git a/app/controllers/xrd_controller.rb b/app/controllers/xrd_controller.rb
index ba5032abd..2886315ac 100644
--- a/app/controllers/xrd_controller.rb
+++ b/app/controllers/xrd_controller.rb
@@ -31,15 +31,7 @@ class XrdController < ApplicationController
   end
 
   def username_from_resource
-    if resource_param =~ /\Ahttps?:\/\//
-      path_params = Rails.application.routes.recognize_path(resource_param)
-      raise ActiveRecord::RecordNotFound unless path_params[:controller] == 'users' && path_params[:action] == 'show'
-      path_params[:username]
-    else
-      username, domain = resource_param.gsub(/\Aacct:/, '').split('@')
-      raise ActiveRecord::RecordNotFound unless TagManager.instance.local_domain?(domain)
-      username
-    end
+    WebfingerResource.new(resource_param).username
   end
 
   def pem_to_magic_key(public_key)