Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alwx/react-native-http-bridge
HTTP server for React Native
https://github.com/alwx/react-native-http-bridge
android http-server javascript nodejs react-native
Last synced: about 2 months ago
JSON representation
HTTP server for React Native
- Host: GitHub
- URL: https://github.com/alwx/react-native-http-bridge
- Owner: alwx
- Created: 2017-02-06T13:38:01.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-07-04T10:08:54.000Z (over 2 years ago)
- Last Synced: 2024-11-08T13:54:06.535Z (2 months ago)
- Topics: android, http-server, javascript, nodejs, react-native
- Language: Objective-C
- Size: 113 KB
- Stars: 122
- Watchers: 4
- Forks: 79
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# react-native-http-bridge
Simple HTTP server for [React Native](https://github.com/facebook/react-native).
Created for [Status.im](https://github.com/status-im/status-react).Since 0.5.0 supports and handles GET, POST, PUT and DELETE requests.
The library can be useful for handling requests with `application/json` content type
(and this is the only content type we support at the current stage) and returning different responses.Since 0.6.0 can handle millions of requests at the same time and also includes some very basic support for [React Native QT](https://github.com/status-im/react-native-desktop).
## Install
```shell
npm install --save react-native-http-bridge
```## Automatically link
#### With React Native 0.27+
```shell
react-native link react-native-http-bridge
```## Example
First import/require react-native-http-server:
```js
var httpBridge = require('react-native-http-bridge');
```
Initalize the server in the `componentWillMount` lifecycle method. You need to provide a `port` and a callback.
```js
componentWillMount() {
// initalize the server (now accessible via localhost:1234)
httpBridge.start(5561, 'http_service' request => {// you can use request.url, request.type and request.postData here
if (request.type === "GET" && request.url.split("/")[1] === "users") {
httpBridge.respond(request.requestId, 200, "application/json", "{\"message\": \"OK\"}");
} else {
httpBridge.respond(request.requestId, 400, "application/json", "{\"message\": \"Bad Request\"}");
}});
}```
Finally, ensure that you disable the server when your component is being unmounted.
```js
componentWillUnmount() {
httpBridge.stop();
}```