diff options
author | 2018-07-24 17:34:04 +0300 | |
---|---|---|
committer | 2018-07-25 11:39:10 +0300 | |
commit | a52d50e788792a63e97a9176ab319d53db7a2853 (patch) | |
tree | b1c2222cacf4b8192aea16d1e0315b1f005c5347 /deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/util/http.service.ts | |
parent | 3c2665debb400aef7f0ed9e235698d2ff9f859db (diff) |
Replaced old implementation at root
Old project files and directories has been moved
under 'deprecated-workflow-designer'. The old project
is not built by the CI anymore, but can be still built manually.
New modules/directories have been moved up and integrated with
the CI system.
Change-Id: I1528c792bcbcce9e50bfc294a1328a20e72c91cf
Issue-ID: SDC-1559
Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com>
Diffstat (limited to 'deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/util/http.service.ts')
-rw-r--r-- | deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/util/http.service.ts | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/util/http.service.ts b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/util/http.service.ts new file mode 100644 index 00000000..f754d38e --- /dev/null +++ b/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/util/http.service.ts @@ -0,0 +1,67 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +import { Injectable } from '@angular/core'; +import { Http, RequestOptionsArgs } from '@angular/http'; +import { Observable } from 'rxjs/Rx'; +import './rxjs-operators'; + +@Injectable() +export class HttpService { + constructor(private http: Http) { } + + public get(uri: string, options?: RequestOptionsArgs): Observable<any> { + return this.getHttp('get', uri, options); + } + + public post(uri: string, data: any, options?: RequestOptionsArgs): Observable<any> { + return this.getHttp('post', uri, data); + } + + public put(uri: string, data: any, options?: RequestOptionsArgs): Observable<any> { + return this.getHttp('put', uri, data, options); + } + + public delete(uri: string): Observable<any> { + return this.getHttp('delete', uri); + } + + public getHttp(type: string, uri: string, data?: any, options?: RequestOptionsArgs): Observable<any> { + if (data) { + return this.http[type](uri, data, options) + .map(response => { + if (response.text() === '') { + return {}; + } + + return response.json(); + }) + .catch(this.handleError); + } else { + return this.http[type](uri, options) + .map(response => response.json()) + .catch(this.handleError); + } + } + + private handleError(error: any) { + let errMsg = ''; + try { + errMsg = error.json().message; + if (!errMsg) { + errMsg = error.json().msg; + } + } catch (e) { + errMsg = error.status ? `${error.status}-${error.statusText}` : 'Server error'; + } + return Observable.throw(errMsg); + } +} |