@airsoko/next
v0.0.17
Published
<br/>
Downloads
78
Readme
🪄 Airsoko next plugin
📑 Table of Contents
Overview
This package provides a Next.js API route (GraphqlApiHandler) for making GraphQL requests to a Airsoko API.
Implementation Details
- Forwards GraphQL requests to the Airsoko API with appropriate headers.
- Handles authentication and authorization using Airsoko tokens.
- Sets and retrieves user cookies for currency and country preferences.
- Determines user location based on IP address if needed.
Features
- Simplifies GraphQL API calls to the Airsoko API within a Next.js application.
- Manages authentication, authorization, user context, and currency/country preferences.
- Automatically retrieves and sets user-specific cookies for a seamless experience.
Installation
Install the package by running:
npm install @airsoko/next
Prerequisites
- Node.js (version 16 or higher)
- npm (or yarn)
Project Installation
After installation, you will have to create an api route in the api folder called graphql.ts
- Then paste the following code to file and save
import { GraphqlApiHandler } from "@airsoko/next";
export default GraphqlApiHandler;
Updating
To update Airsoko next to the latest version, run :
npm update @airsoko/next
Uninstalling
If you wish to uninstall Airsoko next, use:
npm uninstall @airsoko/next
API Reference
Functions
GraphqlApiHandler
This function handles GraphQL API requests to a Macive API. It uses the getMaciveApiHeaders function to retrieve necessary headers for the request.
getMaciveApiHeaders
Retrieves headers for Macive API requests based on the provided Next.js API request and response objects. It includes logic for handling cookies, generating random strings, and extracting subdomains.
generateRandomString
Generates a random alphanumeric string with the specified length.
getIpGeoDetails
Retrieves geographic details for the provided IP address using an IP geolocation API. It includes a default data object in case of errors or missing data.
🤝 Contributing
Contributions to improve this package are welcome. Please adhere to the project's coding standards and commit guidelines.
License
MIT License
⚒️ Built With
🌟 This README was generated with 💖 by Airsoko