|
14 | 14 | * limitations under the License. |
15 | 15 | */ |
16 | 16 |
|
17 | | -import {Observable, of as observableOf} from 'rxjs'; |
18 | | -import {map} from 'rxjs/operators'; |
| 17 | +// tslint:disable-next-line: ordered-imports |
| 18 | +import {from as observableFrom, Observable, of as observableOf, throwError} from 'rxjs'; |
| 19 | +import {catchError, map} from 'rxjs/operators'; |
19 | 20 | import {NetworkType} from '../model/blockchain/NetworkType'; |
20 | | -import {NetworkHttp} from './NetworkHttp'; |
| 21 | +import { NodeRoutesApi } from './api/apis'; |
21 | 22 | import { QueryParams } from './QueryParams'; |
22 | 23 | /** |
23 | 24 | * Http extended by all http services |
24 | 25 | */ |
25 | 26 | export abstract class Http { |
26 | | - private networkHttp: NetworkHttp; |
27 | | - private networkType: NetworkType; |
| 27 | + protected readonly url: string; |
| 28 | + protected networkType: NetworkType; |
28 | 29 |
|
29 | 30 | /** |
30 | 31 | * Constructor |
31 | | - * @param url |
32 | | - * @param networkHttp |
| 32 | + * @param url Base catapult-rest url |
| 33 | + * @param networkType |
33 | 34 | */ |
34 | | - constructor(networkHttp?: NetworkHttp) { |
35 | | - if (networkHttp) { |
36 | | - this.networkHttp = networkHttp; |
| 35 | + constructor(url: string, networkType?: NetworkType) { |
| 36 | + if (networkType) { |
| 37 | + this.networkType = networkType; |
37 | 38 | } |
| 39 | + this.url = url; |
38 | 40 | } |
39 | 41 |
|
40 | 42 | getNetworkTypeObservable(): Observable<NetworkType> { |
41 | 43 | let networkTypeResolve; |
42 | | - if (this.networkType == null) { |
43 | | - networkTypeResolve = this.networkHttp.getNetworkType().pipe(map((networkType) => { |
44 | | - this.networkType = networkType; |
45 | | - return networkType; |
46 | | - })); |
| 44 | + if (!this.networkType) { |
| 45 | + networkTypeResolve = observableFrom(new NodeRoutesApi(this.url).getNodeInfo()).pipe( |
| 46 | + map(({body}) => { |
| 47 | + this.networkType = body.networkIdentifier; |
| 48 | + return body.networkIdentifier; |
| 49 | + }), |
| 50 | + catchError((error) => throwError(this.errorHandling(error))), |
| 51 | + ); |
47 | 52 | } else { |
48 | 53 | networkTypeResolve = observableOf(this.networkType); |
49 | 54 | } |
|
0 commit comments