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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
A lot of code but going back and forth as well.
* fix: request logger name for good
* wip: initial broilerplate
* feat: ipfspath parsing and walking
* refactor: rewrite to walk the path before streaming
* fix: handling 0 for ipld link
* wip: get first tests to pass
still need to figure out the Send + Sync + 'static bound, issue is with
Sync, which might come from the refs used, get_block(&cid)..
this required some unsafety to be able to present the Stream as Send +
Sync + 'static as required by hyper. not 100% sure if that pin_project
is ok to do, but the only interfaces exposed are callable as futures so
it shouldn't be too bad.
* feat: format string support
* add: manual RefsOptions deserialization to have multiple `arg`
* fix: resolve multiple paths
I had not originally noticed that we need to do the walk from multiple
paths.
* add: dag-pb specific ipfspath walking
* add: make IpfsPath better debuggable
* wip: adjust logging
* add: yield ipld parsing failed err's
* add: "specialize" ipld_links for dag-pb
* feat: support visiting unique nodes
* fix: instead of stopping, filter out too deep elements
also, this should be done when expanding the nodes, not at this stage.
* refactor: reorg and document
originally it was easier to write everything to the same file, but it
gets difficult to read after 1000 lines. while reorganising stuff into
more tight modules, some direct calls were changed not to be needed,
like RefsOptions creating the EdgeFormatter; the EdgeFormatter is not
created in the refs function itself.
chopped off parts:
* RefsOptions stuff to refs/options.rs
* EdgeFormatter and the string format to refs/format.rs
* Unshared to refs/unshared.rs
* HandledErr, StreamResponse to refs/support.rs
* refactor: minor cleanup and docs
* fix: refs tests, enable unique test
* fix: use specific rust-ipld version with cbor fix
the situation is not good, as it would make sense to re-export libipld
from ipfs as parts are already re-exported but with strange names.
* refactor: allow dead_code StringError::new
* refactor: use the Edge for refs-local as well
* chore: cargo fmt and reorder tests
* doc: replace fixme with confirmed
* add: port tests for ipfspath
* fix: unignore good_but_unsupported test
* add: test cases for slash dedup per discussion
* add: walk dag-cbor tests for IpfsPath
* add: dag-pb path walking test
* add: tests for walking over a cbor link
* add: test case for dapb link listing
* fix: refs_local test, move all tests under mod test
* fix: remove unwrap from refs-local
kept the return value as a stream. it'll at least save us the trouble of
concatenating all of the values into a big vector.
Adding list to BlockStore trait and cleanup support
Adding list functionality and tests
wip dag put
Update Cargo.toml
Co-Authored-By: Joonas Koivunen <joonas.koivunen@gmail.com>
Update Cargo.toml
Delete config
rustfmt
fix: examples and unused"
fix: switching back to Vecs
feat: adding list functions to repo and ipfs
feat: working endpoint
fix: more sane newline adding
fix: clippy
fix: cargo fmt
fix: inner Result
fix: warp filter chain fixes part 1
fix: HandledErr and some cargo fmt
fix: StringError
removing HandledErr
fix: HandledErr
fix: unwrap placement
* 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.