Sha256: 81ffd1f858a56d69042a9475e24c795f211ad20ae932d370d1ada75e919004d9

Contents?: true

Size: 665 Bytes

Versions: 6

Compression:

Stored size: 665 Bytes

Contents

# This is a bit hacky. It looks like Her.rb strips querystrings with an underscore, and WP requires
# '?_embed' in order to embed child links. We look for a query param called 'embed' and change it
# to _embed (as well as sending the original)

module Rooftop
  class EmbedMiddleware < Faraday::Middleware

    def call(env)
      query = Faraday::Utils.parse_query(env.url.query) || {}
      query["_embed"] = true if query.has_key?("include_embedded_resources")
      query["per_page"] = 99999999 unless query.has_key?("per_page")
      env.url.query = Faraday::Utils.build_query(query.except("include_embedded_resources"))
      @app.call env
    end

  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rooftop-0.1.4.1 lib/rooftop/middleware/embed_middleware.rb
rooftop-0.1.4 lib/rooftop/middleware/embed_middleware.rb
rooftop-0.1.3 lib/rooftop/middleware/embed_middleware.rb
rooftop-0.1.2 lib/rooftop/middleware/embed_middleware.rb
rooftop-0.1.1 lib/rooftop/middleware/embed_middleware.rb
rooftop-0.0.7.4 lib/rooftop/middleware/embed_middleware.rb