|
1 | 1 | import { GenericImageProvider, ImageContent, ProviderEvent, AppSettings } from "../../models"; |
2 | 2 | import { LoggerService, SettingsService } from "../../services"; |
3 | | -import { Http, Headers, URLSearchParams, Response } from '@angular/http'; |
| 3 | +import { Http, Headers, URLSearchParams, Response, QueryEncoder } from '@angular/http'; |
4 | 4 | import { Observable } from "rxjs"; |
5 | 5 | import { queue } from 'async'; |
6 | 6 | import { FuzzyMatcher } from "../fuzzy-matcher"; |
7 | 7 |
|
| 8 | +class CustomUrlEncoder extends QueryEncoder { |
| 9 | + encodeKey(key: string): string { |
| 10 | + return encodeURIComponent(key); |
| 11 | + } |
| 12 | + |
| 13 | + encodeValue(value: string): string { |
| 14 | + return encodeURIComponent(value); |
| 15 | + } |
| 16 | +} |
| 17 | + |
8 | 18 | export class RetroGamingCloudProvider implements GenericImageProvider { |
9 | 19 | private timeoutQueue: AsyncQueue<{ timeout: number, eventCallback: () => void }>; |
10 | 20 | private timeoutTimer: any; |
@@ -110,7 +120,7 @@ export class RetroGamingCloudProvider implements GenericImageProvider { |
110 | 120 | } |
111 | 121 |
|
112 | 122 | private retrieveImageList(title: string, eventCallback: (event: ProviderEvent, data: any) => void) { |
113 | | - let params = new URLSearchParams(); |
| 123 | + let params = new URLSearchParams('', new CustomUrlEncoder()); |
114 | 124 | params.append('name', title); |
115 | 125 |
|
116 | 126 | return new Promise<any[]>((resolve, reject) => { |
|
0 commit comments