Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add sku token to Mapbox API tile requests (#14) #8276

Merged
merged 1 commit into from
May 22, 2019

Conversation

ryanhamley
Copy link
Contributor

This PR adds a query parameter called sku to the url in vector, raster and raster-dem tile requests when (and only when) the Mapbox access token is set and tiles are loaded from a Mapbox API. Every map instance uses a unique sku value, which is refreshed every 12 hours. The token itself is comprised of a token version (always “1”), a sku ID (always “01”) and a random 10-digit base-62 number.

This PR also implements a new RequestManager class which handles creating, appending and updating the token as well as normalizing and canonicalizing URLs for requests to Mapbox APIs.

This token helps us track tile requests to Mapbox APIs from a particular map instance.

Copy link
Contributor

@asheemmamoowala asheemmamoowala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@ryanhamley ryanhamley merged commit 0b99b23 into release-mojito May 22, 2019
@ryanhamley ryanhamley deleted the sku-tokens branch May 22, 2019 16:13
vakila pushed a commit that referenced this pull request May 30, 2019
* Set default thumbnail for examples page for development (#8025)

* Set default thumbnail

* Add a little guidance about creating example images

* creates placeholder.png

* v0.54.0-beta.1 (#8084)

* CP removeFeatureState fix (#8090)

* Empty out features whose states have been removed instead of removing the feature object. This allows updating the buffers for features whose state has been removed, but also requires keep track of previously removed features.

* Update Changelog

* v0.54.0 (#8115)

* Example for `fill-pattern` (#8022)

* move docs dependencies to dev (#8121) (#8129)

* Mapbox-gl-geocoder v4 examples (#8053)

* add geocoder custom render example

* language localize example

* Update marker demo to use built-in marker function

* remove proximity bias for gl-geocoder example because this is now default behavior

* update point from geocode demo to set custom marker color

* update examples to use new mapbox-gl-geocoder API options

* lint new examples

* Update examples to gl-geocoder 4.0.0 api

* Options should be added to the geocoder, not the map

* lint examples

* remove templating syntax

* lint fixes

* @katydecorah 's code review fixes

* Studio does support rtl plugin (#8135)

* Update comment for setRTLTextPlugin (#8143)

* update comment for setRTLTextPlugin

* clarify wording in example

* update one more frame after canvas source paused (#8130) (#8163)

* update one more frame after canvas source paused

Calling `canvasSource.pause()` lets us know we can stop pulling in
updates from it. Since it is possible that changes were made to the
canvas source since the last render we should pull in one more update
before stopping. This also lets you call play and pause immediately to
render just one frame:

ctx.fillRect(10, 10, 50, 50);
canvasSource.play();
canvasSource.pause();

* add test

* don't render changes made after canvasSource.pause()

* optimize

* optimize

* Bugfix - removeFeatureState fails with target.id === 0 (#8150) (#8164)

* Fix an edge case where 0 target.id would fail to clear the feature state

* Check for number & string explicitly

* Add tests for 0 feature ID

* Fix logical check

* v0.54.0-beta.2 (#8166)

* [docs] meta updates for search (#8142)

* update docs-page-shell, update page-shell; update page meta

* Update react-page-shell.js

* remove contentType from examples page

* Update react-page-shell.js

* Update react-page-shell.js

* [docs] token refactor in docs-page-shell (#8174)

* Update page-shell-script.js

* do not force production page shell

* remove hardcoded token from example, add unit test to look for access token in example html files

* [docs] token refactor in docs-page-shell (#8174) (#8181)

* Update page-shell-script.js

* do not force production page shell

* remove hardcoded token from example, add unit test to look for access token in example html files

* Fix disappearing controls in Safari 12+ (#8193) (#8194)

* workaround for a Safari 12 bug with disappearing controls

* fix css lint

* v0.54.0 (take two) (#8184)

* v0.54.0

* update changelog once more

* fix imagery endpoint on WMS example (#8203)

* [email protected] (#8212)

* [docs] add trailing slash to `pathname` so resolved URL matches the canonical (#8228)

* Update documentation.yml (#8230)

* update mapbox-gl-geocoder to v4.3.0 (#8231)

* @mapbox/mapbox gl style [email protected] (#8264)

* Prepare @mapbox/[email protected]

* Add changelog of relevant items

* Add sku token to Mapbox API tile requests (#14) (#8276)

* v1.0.0 (#8277)

* [docs] update docs-page-shell (#8254)

* fix pathname

* Update react-page-shell.js
katydecorah pushed a commit that referenced this pull request Jun 19, 2019
* publisher-production:
  [docs] updates to search component and layout (#8362)
  [docs] adds docs-wide search component (#8349)
  [DOCS] Update Popup maxWidth description (#8312)
  [docs] update docs-page-shell (#8254)
  v1.0.0 (#8277)
  Add sku token to Mapbox API tile requests (#14) (#8276)
  @mapbox/mapbox gl style [email protected] (#8264)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants