1.4.1 • Published 2 years ago

@capacitor-community/http v1.4.1

Weekly downloads
1,517
License
MIT
Repository
github
Last release
2 years ago

Maintainers

MaintainerGitHubSocial
Max Lynchmlynch@maxlynch

Installation

npm install @capacitor-community/http
npx cap sync

On iOS, no further steps are needed.

On Android, register the plugin in your main activity:

import com.getcapacitor.plugin.http.Http;

public class MainActivity extends BridgeActivity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    registerPlugin(Http.class);
  }
}

Configuration

No configuration required for this plugin

Usage

To use the plugin while fully supporting the web version, import and use it like this:

import { Http } from '@capacitor-community/http';

// Example of a GET request
const doGet = () => {
  const ret = await Http.request({
    method: 'GET',
    url: 'https://example.com/my/api',
    headers: {
      'X-Fake-Header': 'Max was here',
    },
    params: {
      size: 'XL',
    },
  });
};

// Example of a POST request. Note: data
// can be passed as a raw JS Object (must be JSON serializable)
const doPost = () => {
  const ret = await Http.request({
    method: 'POST',
    url: 'https://example.com/my/api',
    headers: {
      'X-Fake-Header': 'Max was here',
      'Content-Type': 'application/json',
    },
    data: {
      foo: 'bar',
      cool: true,
    },
  });
};

const setCookie = async () => {
  const ret = await Http.setCookie({
    url: this.apiUrl('/cookie'),
    key: 'language',
    value: 'en',
  });
};

const deleteCookie = async () => {
  const ret = await Http.deleteCookie({
    url: this.apiUrl('/cookie'),
    key: 'language',
  });
};

const clearCookies = async () => {
  const ret = await Http.clearCookies({
    url: this.apiUrl('/cookie'),
  });
};

const getCookies = async () => {
  const ret = await Http.getCookies({
    url: this.apiUrl('/cookie'),
  });
  console.log('Got cookies', ret);
  this.output = JSON.stringify(ret.value);
};

const downloadFile = async () => {
  const ret = await Http.downloadFile({
    url: 'https://example.com/path/to/download.pdf',
    filePath: 'document.pdf',
    fileDirectory: FilesystemDirectory.Downloads,
  });
  if (ret.path) {
    const read = await Filesystem.readFile({
      path: 'download.pdf',
      directory: FilesystemDirectory.Downloads,
    });
    // Data is here
  }
};

const uploadFile = async () => {
  const ret = await Http.uploadFile({
    url: 'https://example.com/path/to/upload.pdf',
    name: 'myFile',
    filePath: 'document.pdf',
    fileDirectory: FilesystemDirectory.Downloads,
  });
};

API Reference

Coming soon

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!