Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Two new middlewares #80

Merged
merged 4 commits into from
Oct 10, 2016
Merged

Two new middlewares #80

merged 4 commits into from
Oct 10, 2016

Conversation

madisonb
Copy link
Collaborator

This PR addresses the issue raised in #78 about the fact that it is difficult to add new spiders when you need to manually pass through meta fields and increment the stats collectors.

Meta Passthrough Middleware - passes response meta fields to new request's generated from the spider. The spider does not have to manually copy over all meta fields, instead the middleware will pass through all meta fields that have not been set already in the new request. This allows the spider to still set meta fields or override things in the Request, and not have to worry about the middleware stomping over them.

Redis Stats Middleware - Moves the stats collection from the spider and into the spider middleware stack. This analyzes the response as they come in and updates the stats collection within redis. This again removes an unnecessary step when processing the response in your spider.

Both of these reduce spider complexity and move logic into a more portable area. I added tests and documentation as well.

Madison Bahmer added 4 commits October 9, 2016 17:05
Also updated documentation, added tests surrounding status code middleware as well. This tries replaces the cumbersome overhead of writing your own spider with a more streamlined process.
@coveralls
Copy link

coveralls commented Oct 10, 2016

Coverage Status

Coverage decreased (-0.09%) to 65.202% when pulling bfde8ec on middlewares-78 into 3a08b4d on dev.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants