Fix a typo re: on_response -> on_complete

This commit is contained in:
Olle Jonsson 2020-10-23 17:28:00 +02:00 committed by GitHub
parent 0977306827
commit 4e9f4b06f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -48,10 +48,12 @@ later, response. Some keys are:
There's an easier way to write middleware, and it's also the recommended one: make your middleware subclass `Faraday::Middleware`. There's an easier way to write middleware, and it's also the recommended one: make your middleware subclass `Faraday::Middleware`.
`Faraday::Middleware` already implements the `#call` method for you and looks for two methods in your subclass: `#on_request(env)` and `#on_complete(env)`. `Faraday::Middleware` already implements the `#call` method for you and looks for two methods in your subclass: `#on_request(env)` and `#on_complete(env)`.
`#on_request` is called when the request is being built and is given the `env` representing the request. `#on_request` is called when the request is being built and is given the `env` representing the request.
`#on_complete` is called after the response has been received (that's right, it already supports parallel mode!) and receives the `env` of the response. `#on_complete` is called after the response has been received (that's right, it already supports parallel mode!) and receives the `env` of the response.
### Do I need to override `#call`? ### Do I need to override `#call`?
For the majority of middleware, it's not necessary to override the `#call` method, as you can simply use `#on_request` and `#on_response`. For the majority of middleware, it's not necessary to override the `#call` method. You can instead use `#on_request` and `#on_complete`.
However, in some cases you may need to wrap the call in a block, or work around it somehow (think of a begin-rescue, for example). However, in some cases you may need to wrap the call in a block, or work around it somehow (think of a begin-rescue, for example).
When that happens, then you can simply override `#call`. When you do so, remember to call either `app.call(env)` or `super` to avoid breaking the middleware stack call! When that happens, then you can override `#call`. When you do so, remember to call either `app.call(env)` or `super` to avoid breaking the middleware stack call!