import { Component, OnInit } from '@angular/core'; import { Platform } from '@ionic/angular'; @Component({ selector: 'app-fetch', templateUrl: './fetch.page.html', styleUrls: ['./fetch.page.scss'], }) export class FetchPage { localhost:string = 'localhost'; plt: string; web_get_restricted = 0; web_post_restricted = 0; web_put_restricted = 0; web_delete_restricted = 0; android_get_restricted = 0; android_post_restricted = 0; android_put_restricted = 0; android_delete_restricted = 0; ios_get_restricted = 0; ios_post_restricted = 0; ios_put_restricted = 0; ios_delete_restricted = 0; // More variables for restricted API calls constructor(private platform: Platform) { this.plt = this.platform.is('mobileweb') ? 'web' : this.platform.is('ios') ? 'ios' : 'android'; this.localhost ="192.168.0.7" // put your IP here } get() { fetch(`http://${this.localhost}:5000/ionic4fullapp/us-central1/getData?data=fromApp`) .then(async response => { if (response.ok) { const data = await response.json(); this.changeStatus('get','unrestricted', 1); } }) .catch(e => { this.changeStatus('get','unrestricted', 2); }) } post() { const data = { data: 'postData' } const options = { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) } fetch(`http://${this.localhost}:5000/ionic4fullapp/us-central1/postData`, options) .then(async response => { if (response.ok) { const data = await response.json(); this.changeStatus('post','unrestricted', 1); } }) .catch(e => { this.changeStatus('post','unrestricted', 2); }) } put() { const data = { data: 'putData' } const options = { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) } fetch(`http://${this.localhost}:5000/ionic4fullapp/us-central1/putData`, options) .then(async response => { if (response.ok) { const data = await response.json(); this.changeStatus('put','unrestricted', 1); } }) .catch(e => { this.changeStatus('put','unrestricted', 2); }) } delete() { const data = { data: 'deleteData' } const options = { method: 'DELETE', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) } fetch(`http://${this.localhost}:5000/ionic4fullapp/us-central1/deleteData`, options) .then(async response => { if (response.ok) { const data = await response.json(); this.changeStatus('delete','unrestricted', 1); } }) .catch(e => { this.changeStatus('delete','unrestricted', 2); }) } changeStatus(type, restriction,status) { this[`${this.plt}_${type}_${restriction}`] = status } }