Age | Commit message (Collapse) | Author |
|
If a domain only has an mx record but no A record it
will trigger a ConnectionError when attempting the
nicknym key lookup.
We need to detect and handle this in the http adapter
already because once the exception is handled by Celluloid
our actor will be terminated.
So now we allow for handing a rescue option to the
adapter with a string that is checked for inclusion in
the error message. If the string is found the exception
will be caught and the adapter returns nil.
We only make use of this when checking the availability
of nicknym so far. That should be the only http request
going out.
|
|
Now we reuse a single adapter for all requests triggered
by an incoming request. Then we .terminate the adapter.
Includes a regression test.
|
|
Turns out without this nickserver will not respond to multiple concurrent requests.
|
|
Turns out http.rb does not support celluloid i/o andymore and we were not making
use of it anyway.
Here's what https://github.com/httprb/http/wiki/Thread-Safety says:
(NOTE: this gem previously supported Celluloid::IO, but that support was removed to add the current timeout backend. It may be added back in a future version)
So now we have a plain http.rb adapter and use that as the default.
This prevents actors from crashing in the adapter (as we don't have any).
|
|
|
|
Dropped the webmock dependency. We have our own http adapter. So we can
stub that to inject a mock. As an added bonus this does not mess with
other http requests.
Also wrote down testing strategy. Not completely implemented yet.
|