Nebulous Puffy Marshmallows
    Wondering what’s next for npm?Check out our public roadmap! »

    react-native-nj-cookies

    3.3.2 • Public • Published

    react-native-cookies

    Cookie manager for react native.

    npm version npm downloads GitHub license

    Installation

    yarn add react-native-cookies
    

    Linking

    Automatic (recommended)

    react-native link react-native-cookies
    

    Manual

    If automatic linking does not work, you can manually link this library by following the instructions below:

    iOS
    1. Open your project in Xcode, right click on Libraries and click Add Files to "Your Project Name" Look under node_modules/react-native-cookies/ios and add RNCookieManagerIOS.xcodeproj.
    2. Add libRNCookieManagerIOS.a to `Build Phases -> Link Binary With Libraries.
    3. Clean and rebuild your project
    Android

    Run react-native link to link the react-native-cookies library.

    Or if you have trouble, make the following additions to the given files manually:

    android/settings.gradle

    include ':react-native-cookies'
    project(':react-native-cookies').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cookies/android')

    android/app/build.gradle

    dependencies {
       ...
       compile project(':react-native-cookies')
    }

    MainApplication.java

    On top, where imports are:

    import com.psykar.cookiemanager.CookieManagerPackage;

    Add the CookieManagerPackage class to your list of exported packages.

    @Override
    protected List<ReactPackage> getPackages() {
        return Arrays.asList(
                new MainReactPackage(),
                new CookieManagerPackage()
        );
    }

    Usage

    import CookieManager from 'react-native-cookies';
    
    // set a cookie (IOS ONLY)
    CookieManager.set({
      name: 'myCookie',
      value: 'myValue',
      domain: 'some domain',
      origin: 'some origin',
      path: '/',
      version: '1',
      expiration: '2015-05-30T12:30:00.00-05:00'
    }).then((res) => {
      console.log('CookieManager.set =>', res);
    });
    
    // Set cookies from a response header
    // This allows you to put the full string provided by a server's Set-Cookie 
    // response header directly into the cookie store.
    CookieManager.setFromResponse(
      'http://example.com', 
      'user_session=abcdefg; path=/; expires=Thu, 1 Jan 2030 00:00:00 -0000; secure; HttpOnly')
        .then((res) => {
          // `res` will be true or false depending on success.
          console.log('CookieManager.setFromResponse =>', res);
        });
    
    // Get cookies as a request header string
    CookieManager.get('http://example.com')
      .then((res) => {
        console.log('CookieManager.get =>', res); // => 'user_session=abcdefg; path=/;'
      });
    
    // list cookies (IOS ONLY)
    CookieManager.getAll()
      .then((res) => {
        console.log('CookieManager.getAll =>', res);
      });
    
    // clear cookies
    CookieManager.clearAll()
      .then((res) => {
        console.log('CookieManager.clearAll =>', res);
      });
    
    // clear a specific cookie by its name (IOS ONLY)
    CookieManager.clearByName('cookie_name')
      .then((res) => {
        console.log('CookieManager.clearByName =>', res);
      });

    TODO

    • Proper getAll dictionary by domain
    • Proper error handling
    • Anything else?

    PR's welcome!

    Install

    npm i react-native-nj-cookies

    DownloadsWeekly Downloads

    0

    Version

    3.3.2

    License

    MIT

    Unpacked Size

    4.46 MB

    Total Files

    1325

    Last publish

    Collaborators

    • avatar
    • avatar