allow custom HTTP headers (e.g. bearer token) to Mapbox layer source
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 18.8k
- Fork
- 2.8k
- Merge medio
- 16h 26m
- PR unite (30g)
- 21
Descrizione
Hi!
I wanted to display a Mapbox layer that requires authentication through bearer tokens, i.e. when doing something like:
fig.update_layout(
mapbox_style="white-bg",
mapbox_layers=[
{
"below": 'traces',
"sourcetype": "raster",
"sourceattribution": "My private ortho",
"source": [
"https://my_private_source.com/MapServer/tile/{z}/{y}/{x}"
]
}
]
)
I need to pass custom HTTP headers to each tile request. In JavaScript, this can be easily achieved with the Mapbox API thanks to transformRequest (see here):
const map = new mapboxgl.Map({
container: 'map',
center: [2.35, 48.86],
zoom: 13,
transformRequest: (url, resourceType) => {
if (url.startsWith('https://my_private_source.com')) {
return {
url: url,
headers: { 'Authorization': 'Bearer ' + my_private_token }
}
}
}
});
However, this does not seem supported by plotly.py, or am I missing something? With some pointers I could work on a PR, but I'm not sure where to start in the code base.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
La issue non indica file né test. Inizia tracciando il modo in cui plotly.py serializza mapbox_layers e il modo in cui la mappa JavaScript richiede le tile raster, quindi confronta questo percorso con l’esempio transformRequest collegato. L’attività è completata quando è possibile fornire header personalizzati per ogni richiesta di tile dei layer Mapbox e il comportamento è coperto da test appropriati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, python
- Ambito
- frontend, web-dev
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100