Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@eeacms/volto-corsproxy

Package Overview
Dependencies
Maintainers
10
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@eeacms/volto-corsproxy

volto-corsproxy: Volto add-on

  • 4.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
245
increased by17.22%
Maintainers
10
Weekly downloads
 
Created
Source

volto-corsproxy

Releases

Pipeline Lines of Code Coverage Bugs Duplicated Lines (%)

Pipeline Lines of Code Coverage Bugs Duplicated Lines (%)

Volto add-on

Features

This package enables fetching data from third-party servers through the Volto HTTP server, this way bypassing any CORS security restrictions imposed by the browser.

The way it does this is by providing a pass-through CORS proxy server on the path (configurable) /cors-proxy path. For example, any requests made to the URL http://localhost:3000/cors-proxy/http://example.com/ will be piped to the http://example.com website, through the Volto node server.

As you wouldn't want to provide an open proxy, all proxied destinations need to be configured either via settings.allowed_cors_destinations (which takes a list of hostnames) or an environment variable called RAZZLE_ALLOWED_CORS_DESTINATIONS (where you need to provide a comma-separated list of hostnames).

For example:

settings.allowed_cors_destinations = ['eea.europa.eu', 'plone.org']

or:

RAZZLE_ALLOWED_CORS_DESTINATIONS=eea.europa.eu,plone.org yarn start

As a convenience feature for dealing with third-party API endpoints, there's a new action available, getProxiedExternalContent, somewhat similar to Volto's getContent. Call it like: getProxiedExternalContent(thirdpartyurl) and it will make that async content available in the Redux content reducer, at store.content.subrequests[thirdpartyurl].

Getting started

Try volto-corsproxy with Docker

  git clone https://github.com/eea/volto-corsproxy.git
  cd volto-corsproxy
  make
  make start

Go to http://localhost:3000

Add volto-corsproxy to your Volto project

  1. Make sure you have a Plone backend up-and-running at http://localhost:8080/Plone

    docker compose up backend
    
  2. Start Volto frontend

  • If you already have a volto project, just update package.json:

    "addons": [
        "@eeacms/volto-corsproxy"
    ],
    
    "dependencies": {
        "@eeacms/volto-corsproxy": "*"
    }
    
  • If not, create one:

    npm install -g yo @plone/generator-volto
    yo @plone/volto my-volto-project --canary --addon @eeacms/volto-corsproxy
    cd my-volto-project
    
  1. Install new add-ons and restart Volto:

    yarn
    yarn start
    
  2. Go to http://localhost:3000

  3. Happy editing!

Release

See RELEASE.md.

How to contribute

See DEVELOP.md.

The Initial Owner of the Original Code is European Environment Agency (EEA). All Rights Reserved.

See LICENSE.md for details.

Funding

European Environment Agency (EU)

Keywords

FAQs

Package last updated on 22 Apr 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc