Compare commits
	
		
			No commits in common. "72734c7faa5cb6e704f4a469f95ff7980ce27d3e" and "5d5b893948493044a83d1218b8cebe512cded59a" have entirely different histories.
		
	
	
		
			72734c7faa
			...
			5d5b893948
		
	
		
| @ -16,7 +16,7 @@ | ||||
| 
 | ||||
|       vrnp-static = pkgs.buildGoModule { | ||||
|         pname = "vrnp"; | ||||
|         version = "0.0.8"; | ||||
|         version = "0.0.7"; | ||||
|         vendorHash = null; | ||||
| 
 | ||||
|         # For building the package, we use only the files not ignored by Git as inputs. | ||||
|  | ||||
							
								
								
									
										24
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								main.go
									
									
									
									
									
								
							| @ -51,12 +51,6 @@ type EFAClient interface { | ||||
| 	BuildRequest(string) (*http.Request, error) | ||||
| } | ||||
| 
 | ||||
| var allEfaClients []EFAClient = []EFAClient{ | ||||
| 	BwegtEFAClient{}, | ||||
| 	VRNEFAClient{}, | ||||
| 	KVVEFAClient{}, | ||||
| } | ||||
| 
 | ||||
| type VRNEFAClient struct { | ||||
| } | ||||
| 
 | ||||
| @ -187,7 +181,7 @@ type Departure struct { | ||||
| 	Symbol    string `json:"symbol"` | ||||
| 	Direction string `json:"direction"` | ||||
| 	Leaving   string `json:"leaving"` | ||||
| 	Countdown int    `json:"-"` | ||||
| 	Countdown int | ||||
| } | ||||
| 
 | ||||
| func ParseDepartures(response DMResponse, allowedPlatform *string) (Departures, error) { | ||||
| @ -246,18 +240,15 @@ func ParseDepartures(response DMResponse, allowedPlatform *string) (Departures, | ||||
| func main() { | ||||
| 	password := os.Getenv("VRNP_PASSWORD") | ||||
| 	if len(password) == 0 { | ||||
| 		log.Fatal("Required environment variable VRNP_PASSWORD is not set") | ||||
| 		panic("Required environment variable VRNP_PASSWORD is not set") | ||||
| 	} | ||||
| 
 | ||||
| 	clientAllowlist := strings.Split(os.Getenv("VRNP_CLIENT_ALLOWLIST"), ",") | ||||
| 
 | ||||
| 	// Use round-robin to send incoming requests to different servers | ||||
| 	var efaClient atomic.Uint64 | ||||
| 	var efaClients []EFAClient | ||||
| 	for _, efaClient := range allEfaClients { | ||||
| 		if len(clientAllowlist) != 0 && slices.Contains(clientAllowlist, efaClient.GetName()) { | ||||
| 			efaClients = append(efaClients, efaClient) | ||||
| 		} | ||||
| 	efaClients := []EFAClient{ | ||||
| 		BwegtEFAClient{}, | ||||
| 		VRNEFAClient{}, | ||||
| 		KVVEFAClient{}, | ||||
| 	} | ||||
| 
 | ||||
| 	http.HandleFunc("/departures", func(w http.ResponseWriter, r *http.Request) { | ||||
| @ -281,7 +272,8 @@ func main() { | ||||
| 			platform = &query["platform"][0] | ||||
| 		} | ||||
| 
 | ||||
| 		c := efaClients[(efaClient.Add(1)-1)%uint64(len(efaClients))] | ||||
| 		c := efaClients[(efaClient.Add(1) - 1) % uint64(len(efaClients))] | ||||
| 		log.Print(c.GetName()) | ||||
| 		ds, err := FetchDepartures(c, stopId) | ||||
| 		if err != nil { | ||||
| 			http.Error(w, err.Error(), http.StatusInternalServerError) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user