Socket
Socket
Sign inDemoInstall

@eeacms/volto-corsproxy

Package Overview
Dependencies
0
Maintainers
10
Versions
19
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @eeacms/volto-corsproxy

volto-corsproxy: Volto add-on


Version published
Weekly downloads
321
decreased by-63.27%
Maintainers
10
Created
Weekly downloads
 

Changelog

Source

4.0.0 - 22 April 2024

:rocket: New Features
:hammer_and_wrench: Others

Readme

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

Last updated on 22 Apr 2024

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc