IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
* add: pubsub http api
* add: get shoveling and subscription complications going
currently the missing piece is seeing locally sent messages in the
subscribed streams, then maybe creating a more complicated API for
subscribing which will require a single task for shoveling into the
responses.
* chore: lower timeout to pass the tests
Should probably have another drop sender here.
* fix: close stream on first error
tokio::sync::broadcast will continue after telling how many items were
lost, which seems likely with the small buffer and quickly firing more
than the buffer elements.
* fix: raise the buffer size for subscribe responses
* feat: use custom rust-libp2p to pass tests
the v0.16.2-with-floodsub-opts includes "subscribers see locally
published messages" which is needed for the conformance tests to pass.
this has been PR'd as https://github.com/libp2p/rust-libp2p/pull/1520.
* fix: pubsub test after changing the floodsub impl
in warp this means recovering from the rejections in some filter chain.
they also need to be done in the order of "detail" to general (not
found, method not allowed) in order to match the most specific first.
I was initially thinking that the `query` might need to be changed away,
but it might provide just the rejection we'd need in order to recover
and give that similar error message back.
when query parsing fails, go-ipfs returns 500 and the
v0::ResponseMessage for which this adds a builder. Perhaps we'll need a
custom query parsing filter and an Ser/Deserialize implementation for Cids,
Multiaddrs, PeerIds and whatnot, which luckily might all have FromStr
already.
the current structure in the big handler of id needs refactoring, and a
way to handle the rejections.
we cannot simply replace async aware channels with crossbeam channels,
which cannot wake us up. keeping the channel buffer size at 1 to catch
any errors.
taking on the openssl dependency is used for:
- rsa key generation
- from/to `pkcs#1` and `pkcs#8` transformations
Crate `rsa` was also considered but it does not support exporting keys
in any format at the moment and it's import code looks different from
`ring`s (this could be the case of not importing the "precomputed"
values in `rsa`).
The `pkcs#1` is (hopefully) used with go-ipfs-config/go-libp2p
compatible key storage but rust-libp2p/ring need the key in `pkcs#8` der
format. PEM parsing and PEM to DER was implemented by hand as it looked
like the existingly depended on crates are not compatible as much as
possible.
this could be moved over to rust-ipfs but I think that people will
prefer to track their own binarys version (which is tracked hopefully in
a vcs) instead of their `rust-ipfs` deps version, which will be in their
`Cargo.lock` file.
* add first draft of the http api
* chore note on the difficulties with with_graceful_shutdown
* add the second required output line by js-ipfsd-ctl
* run cargo fmt for different formatting from rls?
* chore note on (stalled) progress
* add remaining cli args boilerplate
what is missing now is using ephemeral addresses with the warp, as
js-ipfsd-ctl doesn't always to shutdown the older one, or then it just
doesn't shut down correctly.
* fix bind to ephemeral localhost port
* add env_logger initialization
* fix faked multiaddr typo
never remember its "ip4" instead of "ipv4"
* fix do GET on every method in /id
for some reason js-ipfsd-ctl will do a POST against /api/v0/id.
* chore run cargo fmt
* Adding placeholder NOT_IMPLEMENTED endpiints
* rustfmt
* Feedback from PR
* Update http/Cargo.toml
Co-Authored-By: Joonas Koivunen <joonas@equilibrium.co>
Co-authored-by: Mark Robert Henderson <henderson.mark@gmail.com>