Alwinator / react-native-http-bridge-refurbished

A simple HTTP server for React Native based on react-native-http-bridge.
MIT License
60 stars 21 forks source link
http-server react-native rest-api typescript webserver

react-native-http-bridge-refurbished

npm npm GitHub contributors GitHub Repo stars

A simple HTTP server for React Native based on react-native-http-bridge.

Since 1.2.0 there is a new express-like syntax for handling requests. You can still use the old syntax:

import {respond, start, stop} from 'react-native-http-bridge-refurbished';

Install

npm install --save react-native-http-bridge-refurbished

Example

import React, {useEffect, useState} from 'react';
import {BridgeServer} from 'react-native-http-bridge-refurbished';
import {Text} from 'react-native';

function App(): JSX.Element {
    const [lastCalled, setLastCalled] = useState<number | undefined>();

    useEffect(() => {
        const server = new BridgeServer('http_service', true);
        server.get('/', async (req, res) => {
            // do something
            setLastCalled(Date.now());
            return {message: 'OK'}; // or res.json({message: 'OK'});
        });
        server.listen(3000);

        return () => {
            server.stop();
        };
    }, []);

    return (
        <Text>
            {lastCalled === undefined
                ? 'Request webserver to change text'
                : 'Called at ' + new Date(lastCalled).toLocaleString()}
        </Text>
    );
}

export default App;

After running the example you can send a request to the server using curl:

curl http://IP_OF_DEVICE:MY_PORT

For example:

curl http://192.168.1.109:3000