Giter Club home page Giter Club logo

Comments (5)

wimleers avatar wimleers commented on May 28, 2024 1

Most people want their backends to have the smallest exposure possible. In this case (Reservoir) that would be done by only allowing requests to /jsonapi/* URLs from public IP ranges.

from reservoir.

wimleers avatar wimleers commented on May 28, 2024

Wonderful! Glad to hear you were able to very quickly get started 👍


Reservoir (Drupal) is intentionally providing root-relative file URLs: so that you can easily prefix it with whichever host you're letting serve static files. Many will want to use a CDN. Others will want to set up Varnish or nginx. And more importantly: to prevent problems when switching from your dev environment to your prod environment.

If we'd be returning absolute URLs, and you would be using those directly, then it'd be trivial to figure out the back end's URL. You probably don't want to expose Reservoir to the world.

If you do want to use Reservoir's web server directly (which makes total sense for development), then the same base URL that you use to talk to Reservoir can also be used to access static files. In production, you'd change this to a CDN base URL.

Thoughts?

from reservoir.

yann-yinn avatar yann-yinn commented on May 28, 2024

Hello !
Good points, but how i am supposed to "prefix" url ( from my front-end ) when it is inside html of a rendered body ?

capture d ecran 2017-06-22 a 13 33 47

from reservoir.

wimleers avatar wimleers commented on May 28, 2024

Oh, I thought you were referring to a file URL for the "Image" field! But you're referring to a file URL embedded in the rich text. That's … a very good point.

I can think of multiple approaches:

  • in your client, you can parse this HTML, then do querySelectorAll('img[data-entity-type=file]') to get all relevant img tags, and prefix their src
  • Reservoir could remove the ability to have embedded images
  • Reservoir could add a filter with a "static file URL" setting that's exposed in Reservoir's UI, and then combined with https://www.drupal.org/node/2626924, there would not just be field_body[value], but also field_body[processed], which would then contain the absolute file URL

Thoughts?

from reservoir.

yann-yinn avatar yann-yinn commented on May 28, 2024

I would say that it does not makes much sense from a client-side perspective to receive a rendered body with "broken" links. This add extra works on each client ( we may have several clients pointing to the same reservoir ) to fix those urls. This is not hard but it has to be replicated and maintained on all clients.

So I would expect an option in reservoir to send processed urls. This allows to configure CDN from reservoir (or to simply use reservoir server url), and reservoir is able to propagate right urls to all clients.

I dont see the issue with "then it'd be trivial to figure out the back end's URL", my XHR requests reveals it anyway

from reservoir.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.