diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2018-05-02 18:58:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-02 18:58:48 +0200 |
commit | cb5b5cb5f79bb2187d8124df91af4c8e1bfd7256 (patch) | |
tree | 76f728b51beda1992b14e3bc83f6a67fdd77dce3 /app/controllers/api | |
parent | 71a7cea73fdfb45d06986e108b2ce1dbf7e32579 (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')
-rw-r--r-- | app/controllers/api/web/embeds_controller.rb | 11 |
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 f2fe74b17..987290a14 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 |