Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
redux-http-request-middleware
Advanced tools
Readme
The concept of this library is that you can define your own redux actions with any type and payload attaching the http request ability using the HTTP_REQUEST
field.
Technically, when dispatching the action charged with HTTP_REQUEST
, the middleware sends the http request eventually dispatching the response (success/failure) handler.
Additionally, dispatching this actions returns promises which makes it friendly with libs like Redux Form and Redux Saga and makes possible the "server-side rendering".
Using NPM:
$ npm install redux-http-request-middleware --save
Using Yarn:
$ yarn add redux-http-request-middleware
Register the httpRequestMiddleware
in your redux store configuration:
i.e. src/index.js
or src/redux/index.js
import { applyMiddleware, createStore } from 'redux';
import { httpRequestMiddleware } from 'redux-http-request-middleware';
import rootReducer from './reducers';
const httpRequestOptions = { // optional configuration
defaultHeaders: {
'Content-Type': 'application/json; charset=utf-8',
'Accept': 'application/json',
'X-Requested-With': 'XMLHttpRequest'
}
};
const store = createStore(
rootReducer,
applyMiddleware(
httpRequestMiddleware(httpRequestOptions)
)
);
The library keeps declarative programming style (as react/redux are), no callback hell, just define a pure actions.
i.e src/redux/actions/auth.js
:
import { HTTP_REQUEST, METHOD_POST } from 'redux-http-request-middleware';
/**
* Create the "login" action.
*/
const login = (email, password) => ({
type: 'LOGIN_REQUEST',
payload: { email, password }, // you can have any fields in your action, it's not required
[HTTP_REQUEST]: { // here we go!
path: '/api/login',
method: METHOD_POST, // or simply 'post'
body: { email, password }, // this will be sent as a json
handlers: {
success: (result) => ({ // the actions that will be dispatched on success response
type: 'LOGIN_SUCCESS',
payload: result
}),
failure: (error) => ({ // the action that will be dispatched if request failures
type: 'LOGIN_FAILURE',
message: `Error: ${error.message}`
})
}
}
});
And then dispatch your actions from your components/sagas/etc...
i.e. src/components/LoginForm.js
import React, {Component} from 'react';
import {connect} from 'react-redux';
import {login} from '../redux/actions/auth';
export class LoginForm extends Component {
...
handleSubmit = () => {
const {email, password} = this.state;
const {dispatch} = this.props;
dispatch(login(email, password));
}
...
render() {
...
}
}
const mapStateToProps = (state, props) => ({ ... });
export default connect(mapStateToProps)(LoginForm);
todo...
todo...
Feel free to dive in! Open an issue or submit PRs.
Using NPM:
$ npm test
Using Yarn:
$ yarn test
Licensed under MIT © 2017-present Holy Krab Labs
FAQs
Transparently add the HTTP request ability to your redux actions.
The npm package redux-http-request-middleware receives a total of 0 weekly downloads. As such, redux-http-request-middleware popularity was classified as not popular.
We found that redux-http-request-middleware demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.