summaryrefslogtreecommitdiffstats
path: root/app/controllers/api/web
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-05-02 18:58:48 +0200
committerGitHub <noreply@github.com>2018-05-02 18:58:48 +0200
commitcb5b5cb5f79bb2187d8124df91af4c8e1bfd7256 (patch)
tree76f728b51beda1992b14e3bc83f6a67fdd77dce3 /app/controllers/api/web
parent71a7cea73fdfb45d06986e108b2ce1dbf7e32579 (diff)
Slightly reduce RAM usage (#7301)
* No need to re-require sidekiq plugins, they are required via Gemfile * Add derailed_benchmarks tool, no need to require TTY gems in Gemfile * Replace ruby-oembed with FetchOEmbedService Reduce startup by 45382 allocated objects * Remove preloaded JSON-LD in favour of caching HTTP responses Reduce boot RAM by about 6 MiB * Fix tests * Fix test suite by stubbing out JSON-LD contexts
Diffstat (limited to 'app/controllers/api/web')
-rw-r--r--app/controllers/api/web/embeds_controller.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/app/controllers/api/web/embeds_controller.rb b/app/controllers/api/web/embeds_controller.rb
index f2fe74b1793..987290a14ce 100644
--- a/app/controllers/api/web/embeds_controller.rb
+++ b/app/controllers/api/web/embeds_controller.rb
@@ -9,9 +9,12 @@ class Api::Web::EmbedsController < Api::Web::BaseController
status = StatusFinder.new(params[:url]).status
render json: status, serializer: OEmbedSerializer, width: 400
rescue ActiveRecord::RecordNotFound
- oembed = OEmbed::Providers.get(params[:url])
- render json: Oj.dump(oembed.fields)
- rescue OEmbed::NotFound
- render json: {}, status: :not_found
+ oembed = FetchOEmbedService.new.call(params[:url])
+
+ if oembed
+ render json: oembed
+ else
+ render json: {}, status: :not_found
+ end
end
end