Use IDFM website instead of official API
This commit is contained in:
parent
259b78ebd3
commit
c458a32d7b
4 changed files with 195 additions and 134 deletions
|
|
@ -2,6 +2,7 @@ package api
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"flag"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"time"
|
||||
|
|
@ -9,6 +10,14 @@ import (
|
|||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
const IDFM2_BASEURL = "https://prim.iledefrance-mobilites.fr/marketplace"
|
||||
|
||||
var IDFM_TOKEN = ""
|
||||
|
||||
func init() {
|
||||
flag.StringVar(&IDFM_TOKEN, "token-IDFM", IDFM_TOKEN, "Token to access IDFM API")
|
||||
}
|
||||
|
||||
type IDFMTraffic struct {
|
||||
Siri struct {
|
||||
ServiceDelivery struct {
|
||||
|
|
@ -78,7 +87,7 @@ func declareTrafficRoutes(router *gin.RouterGroup) {
|
|||
router.GET("/traffic/:type/:code", func(c *gin.Context) {
|
||||
code := convertLineType(string(c.Param("code")))
|
||||
|
||||
rurl, err := url.JoinPath(IDFM_BASEURL, "general-message")
|
||||
rurl, err := url.JoinPath(IDFM2_BASEURL, "general-message")
|
||||
if err != nil {
|
||||
c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"errmsg": err.Error()})
|
||||
return
|
||||
|
|
@ -91,7 +100,7 @@ func declareTrafficRoutes(router *gin.RouterGroup) {
|
|||
}
|
||||
|
||||
reqquery := url.Values{}
|
||||
reqquery.Add("LineRef", code)
|
||||
reqquery.Add("LineRef", "STIF:Line::"+code+":")
|
||||
requrl.RawQuery = reqquery.Encode()
|
||||
|
||||
req, err := http.NewRequest("GET", requrl.String(), nil)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue