aboutsummaryrefslogtreecommitdiffstats
path: root/deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/util/http.service.ts
diff options
context:
space:
mode:
authorvempo <vitaliy.emporopulo@amdocs.com>2018-07-24 17:34:04 +0300
committervempo <vitaliy.emporopulo@amdocs.com>2018-07-25 11:39:10 +0300
commita52d50e788792a63e97a9176ab319d53db7a2853 (patch)
treeb1c2222cacf4b8192aea16d1e0315b1f005c5347 /deprecated-workflow-designer/sdc-workflow-designer-ui/src/app/util/http.service.ts
parent3c2665debb400aef7f0ed9e235698d2ff9f859db (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.ts67
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);
+ }
+}