Go to file
Esther Lozano 419adea234
Add pubsub metrics (#642)
* Create middleware and service for pubsub metrics

* Use pubsub middleware for all request

* Replace isEnabled with isDisabled to avoid negation

* Use new headers names

* Add acceptance and unit tests

* Remove commented log calls

* Remove only filters in tests

Remove typo

* Refactor service to ease integration test

* Fix interaction with query controller

* Use middleware at api-router and test all controllers

* Rename user middleware function

* Use sinon latest version

* Create middleware and service for pubsub metrics

* Use pubsub middleware for all request

* Replace isEnabled with isDisabled to avoid negation

* Use new headers names

* Add acceptance and unit tests

* Remove commented log calls

* Remove only filters in tests

Remove typo

* Refactor service to ease integration test

* Fix interaction with query controller

* Use middleware at api-router and test all controllers

* Rename user middleware function

* Use sinon latest version

* Fix tests

* Fix typos

* Checks if pubsub config exists to enable the service

* Fix typo

* Normalize headers values for pubsub

* Trim fields when normalizing

* Trim fields when normalizing
2020-02-26 17:19:06 +01:00
config/environments Add pubsub metrics (#642) 2020-02-26 17:19:06 +01:00
docker/scripts Stop using makefile and bash scripts to prepare redis and postgres 2019-12-27 13:09:05 +01:00
docs Professional -> Individual 2019-09-02 17:30:46 +02:00
lib Add pubsub metrics (#642) 2020-02-26 17:19:06 +01:00
test Add pubsub metrics (#642) 2020-02-26 17:19:06 +01:00
.eslintrc.js Replace jshint by eslint as default linter tool 2019-12-23 18:18:18 +01:00
.gitignore Replace the deprecated instanbul by nyc as coverage tool 2019-12-27 13:26:02 +01:00
.travis.yml Stop using makefile and bash scripts to prepare redis and postgres 2019-12-27 13:09:05 +01:00
app.js Run eslint --fix 2019-12-23 18:19:08 +01:00
carto-package.json Update carto_postgresql_ext minor version 2020-01-27 12:51:17 +01:00
HOWTO_RELEASE.md Update NEWS with latest changes 2019-12-27 16:30:01 +01:00
LICENSE Adds notes about contributing 2015-09-08 16:40:33 +02:00
NEWS.md Allow metrics custom headers in cors (#640) 2020-02-13 11:30:14 +01:00
package-lock.json Add pubsub metrics (#642) 2020-02-26 17:19:06 +01:00
package.json Add pubsub metrics (#642) 2020-02-26 17:19:06 +01:00
README.md Style 2019-12-30 09:53:37 +01:00

CartoDB-SQL-API Build Status

The CARTOs SQL API allows you to interact with your data inside CARTO, as if you were running SQL statements against a normal database.

  • Run queries with fine-grained permissions through Auth API.
  • Export data in multiple geospatial formats (CVS, geopackage, KML, SHP, spatialite, geojson, topojson, etc).
  • Schedule jobs using Batch Queries.
  • Copy queries allows you to use the PostgreSQL copy command for efficient streaming of data to and from CARTO.

Build

Requirements:

Optional:

PostGIS setup

A template_postgis database is expected. One can be set up with

$ createdb --owner postgres --template template0 template_postgis
$ psql -d template_postgis -c 'CREATE EXTENSION postgis;'

Install

To fetch and build all node-based dependencies, run:

$ npm install

Run

Create the ./config/environments/<env>.js file (there are .example files to start from). Look at ./lib/server-options.js for more on config.

$ node app.js <env>

Where <env> is the name of a configuration file under ./config/environments/.

Test

$ npm test

Coverage

$ npm run cover

Open ./coverage/lcov-report/index.html.

Docker support

We provide docker images just for testing and continuous integration purposes:

You can find instructions to install Docker, download, and update images here.

Useful npm scripts

Run test in a docker image with a specific Node.js version:

$ DOCKER_IMAGE=<docker-image-tag> NODE_VERSION=<nodejs-version> npm run test:docker

Where:

  • <docker-image-tag>: the tag of required docker image, e.g. carto/nodejs-xenial-pg1121:latest
  • <nodejs-version>: the Node.js version, e.g. 10.15.1

In case you need to debug:

$ DOCKER_IMAGE=<docker-image-tag> npm run docker:bash

Documentation

You can find an overview, guides, full reference, and support in CARTO's developer center. The docs directory contains different documentation resources, from a higher level to more detailed ones.

Contributing

Versioning

We follow SemVer for versioning. For available versions, see the tags on this repository.

License

This project is licensed under the BSD 3-clause "New" or "Revised" License. See the LICENSE file for details.