
Security News
Official Go SDK for MCP in Development, Stable Release Expected in August
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.
@react-native-community/react-native-cookies
Advanced tools
Cookie Manager for React Native
Currently lacking support for Windows, Web, and Expo. Support for these platforms will created when there is a need for them. Starts with a posted issue.
yarn add @react-native-community/react-native-cookies
react-native link @react-native-community/react-native-cookies
If automatic linking does not work, you can manually link this library by following the instructions below:
Libraries
and click Add Files to "Your Project Name"
Look under node_modules/@react-native-community/react-native-cookies/ios
and add RNCookieManagerIOS.xcodeproj
.libRNCookieManagerIOS.a
to `Build Phases -> Link Binary With Libraries.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-community_react-native-cookies'
project(':@react-native-community_react-native-cookies').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/react-native-cookies/android')
android/app/build.gradle
dependencies {
...
implementation project(':@react-native-community_react-native-cookies')
}
MainApplication.java
On top, where imports are:
import com.reactnativecommunity.cookies.CookieManagerPackage;
Add the CookieManagerPackage
class to your list of exported packages.
@Override
protected List<ReactPackage> getPackages() {
return Arrays.asList(
new MainReactPackage(),
new CookieManagerPackage()
);
}
import CookieManager from 'react-native-cookie-store';
// 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)
// useWebKit: boolean
CookieManager.getAll(useWebKit)
.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);
});
React Native comes with a WebView component, which uses UIWebView on iOS. Introduced in iOS 8 Apple implemented the WebKit-Support with all the performance boost.
To use this it's required to use a special implementation of the WebView component (e.g. react-native-wkwebview).
This special implementation of the WebView component stores the cookies not in NSHTTPCookieStorage
anymore. The new cookie-storage is WKHTTPCookieStore
and implementes a differnt interface.
To use this CookieManager with WebKit-Support we extended the interface with the attribute useWebKit
(a boolean value, default: FASLE
) for the following methods:
Method | WebKit-Support | Method-Signature |
---|---|---|
getAll | Yes | CookieManager.getAll(useWebKit:boolean) |
clearAll | Yes | CookieManager.clearAll(useWebKit:boolean) |
get | Yes | CookieManager.get(url:string, useWebKit:boolean) |
set | Yes | CookieManager.set(cookie:object, useWebKit:boolean) |
import CookieManager from 'react-native-cookie-store';
const useWebKit = true;
// list cookies (IOS ONLY)
CookieManager.getAll(useWebKit)
.then((res) => {
console.log('CookieManager.getAll from webkit-view =>', res);
});
// clear cookies
CookieManager.clearAll(useWebKit)
.then((res) => {
console.log('CookieManager.clearAll from webkit-view =>', res);
});
// Get cookies as a request header string
CookieManager.get('http://example.com', useWebKit)
.then((res) => {
console.log('CookieManager.get from webkit-view =>', res);
// => 'user_session=abcdefg; path=/;'
});
// set a cookie (IOS ONLY)
const newCookie: = {
name: 'myCookie',
value: 'myValue',
domain: 'some domain',
origin: 'some origin',
path: '/',
version: '1',
expiration: '2015-05-30T12:30:00.00-05:00'
};
CookieManager.set(newCookie, useWebKit)
.then((res) => {
console.log('CookieManager.set from webkit-view =>', res);
});
FAQs
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.
Security News
New research reveals that LLMs often fake understanding, passing benchmarks but failing to apply concepts or stay internally consistent.
Security News
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.