This is an automated email from the ASF dual-hosted git repository. xuanwo pushed a commit to branch registry-more in repository https://gitbox.apache.org/repos/asf/opendal.git
commit 9a125b294facc2efe89e6d528c74c78637fa0dcb Merge: e71fc6983 dbc5e2532 Author: Xuanwo <[email protected]> AuthorDate: Tue Oct 14 16:18:37 2025 +0800 Merge remote-tracking branch 'origin/main' into registry-more Signed-off-by: Xuanwo <[email protected]> .github/actions/fuzz_test/action.yaml | 4 +- .github/dependabot.yml | 9 + .github/workflows/ci_bin_oay.yml | 4 +- .github/workflows/ci_bin_ofs.yml | 2 +- .github/workflows/ci_bin_oli.yml | 2 +- .github/workflows/ci_bindings_c.yml | 2 +- .github/workflows/ci_bindings_cpp.yml | 2 +- .github/workflows/ci_bindings_d.yml | 2 +- .github/workflows/ci_bindings_dart.yml | 2 +- .github/workflows/ci_bindings_dotnet.yml | 4 +- .github/workflows/ci_bindings_go.yml | 4 +- .github/workflows/ci_bindings_haskell.yml | 4 +- .github/workflows/ci_bindings_java.yml | 8 +- .github/workflows/ci_bindings_lua.yml | 2 +- .github/workflows/ci_bindings_nodejs.yml | 4 +- .github/workflows/ci_bindings_ocaml.yml | 2 +- .github/workflows/ci_bindings_php.yml | 2 +- .github/workflows/ci_bindings_python.yml | 2 +- .github/workflows/ci_bindings_ruby.yml | 2 +- .github/workflows/ci_bindings_swift.yml | 2 +- .github/workflows/ci_bindings_zig.yml | 2 +- .github/workflows/ci_check.yml | 18 +- .github/workflows/ci_core.yml | 36 +- .github/workflows/ci_integration_cloud_filter.yml | 2 +- .github/workflows/ci_integration_dav_server.yml | 2 +- .github/workflows/ci_integration_fuse3.yml | 2 +- .github/workflows/ci_integration_object_store.yml | 2 +- .github/workflows/ci_integration_parquet.yml | 2 +- .github/workflows/ci_integration_spring.yml | 4 +- .github/workflows/ci_integration_unftp_sbe.yml | 2 +- .github/workflows/ci_integration_virtiofs.yml | 2 +- .github/workflows/ci_odev.yml | 4 +- .github/workflows/ci_weekly_update.yml | 6 +- .github/workflows/docs.yml | 82 +- .github/workflows/release_dart.yml | 6 +- .github/workflows/release_java.yml | 22 +- .github/workflows/release_nodejs.yml | 10 +- .github/workflows/release_python.yml | 6 +- .github/workflows/release_ruby.yml | 77 +- .github/workflows/release_rust.yml | 8 +- .github/workflows/service_test_ghac.yml | 4 +- .github/workflows/test_behavior.yml | 2 +- .github/workflows/test_behavior_bin_ofs.yml | 2 +- .github/workflows/test_behavior_binding_c.yml | 2 +- .github/workflows/test_behavior_binding_cpp.yml | 2 +- .github/workflows/test_behavior_binding_go.yml | 8 +- .github/workflows/test_behavior_binding_java.yml | 2 +- .github/workflows/test_behavior_binding_nodejs.yml | 4 +- .github/workflows/test_behavior_binding_python.yml | 4 +- .github/workflows/test_behavior_core.yml | 2 +- .../test_behavior_integration_cloud_filter.yml | 2 +- .../test_behavior_integration_object_store.yml | 2 +- .github/workflows/test_edge.yml | 8 +- .github/workflows/test_fuzz.yml | 10 +- CLAUDE.md | 2 +- CONTRIBUTING.md | 2 +- bin/oay/Cargo.lock | 369 ++-- bin/oay/Cargo.toml | 11 +- bin/oay/README.md | 2 + bin/oay/src/bin/oay.rs | 6 +- bin/oay/src/bin/webdav.rs | 6 +- bin/oay/src/services/s3/service.rs | 8 +- bin/oay/src/services/webdav/service.rs | 4 +- bin/ofs/Cargo.lock | 953 +++++++---- bin/ofs/Cargo.toml | 8 +- bin/ofs/README.md | 2 + bin/ofs/src/main.rs | 6 +- bin/ofs/tests/common/mod.rs | 4 +- bin/oli/Cargo.lock | 109 +- bin/oli/Cargo.toml | 6 +- bin/oli/README.md | 2 + bin/oli/src/bin/oli.rs | 2 +- bin/oli/src/commands/bench/suite.rs | 2 +- bin/oli/src/config/mod.rs | 24 +- bin/oli/tests/integration/test_utils.rs | 4 + bindings/c/Cargo.toml | 4 +- bindings/c/include/opendal.h | 7 +- bindings/c/src/entry.rs | 8 +- bindings/c/src/error.rs | 6 +- bindings/c/src/lib.rs | 2 + bindings/c/src/lister.rs | 8 +- bindings/c/src/metadata.rs | 10 +- bindings/c/src/operator.rs | 12 +- bindings/c/src/operator_info.rs | 8 +- bindings/c/src/reader.rs | 12 +- bindings/c/src/types.rs | 24 +- bindings/c/src/writer.rs | 24 +- bindings/cpp/Cargo.toml | 13 +- bindings/cpp/src/lib.rs | 12 +- bindings/cpp/src/types.rs | 5 +- bindings/dart/rust/Cargo.toml | 2 +- bindings/dart/rust/src/api/opendal_api.rs | 2 +- bindings/dart/rust/src/frb_generated.rs | 6 +- bindings/dotnet/Cargo.toml | 4 +- bindings/dotnet/src/lib.rs | 25 +- bindings/haskell/Cargo.toml | 5 +- bindings/haskell/src/lib.rs | 852 +++++----- bindings/haskell/src/logger.rs | 2 +- bindings/haskell/src/result.rs | 2 +- bindings/haskell/src/types.rs | 13 +- bindings/java/Cargo.toml | 9 +- bindings/java/src/async_operator.rs | 61 +- bindings/java/src/convert.rs | 25 +- bindings/java/src/error.rs | 2 +- bindings/java/src/executor.rs | 26 +- bindings/java/src/layer.rs | 8 +- bindings/java/src/lib.rs | 14 +- bindings/java/src/operator.rs | 59 +- bindings/java/src/operator_input_stream.rs | 18 +- bindings/java/src/operator_output_stream.rs | 16 +- bindings/java/src/utility.rs | 6 +- bindings/lua/Cargo.toml | 4 +- bindings/lua/src/lib.rs | 2 +- bindings/nodejs/Cargo.toml | 4 +- bindings/nodejs/src/lib.rs | 2 +- bindings/nodejs/src/options.rs | 14 +- bindings/ocaml/Cargo.toml | 4 +- bindings/ocaml/src/operator/metadata.rs | 5 +- bindings/php/Cargo.toml | 4 +- bindings/python/Cargo.toml | 10 +- bindings/python/src/file.rs | 12 +- bindings/python/src/lister.rs | 8 +- bindings/python/src/metadata.rs | 9 +- bindings/python/src/operator.rs | 10 +- bindings/python/src/options.rs | 22 +- bindings/python/src/utils.rs | 22 +- bindings/ruby/.gitignore | 2 + bindings/ruby/Cargo.toml | 9 +- bindings/ruby/README.md | 6 +- bindings/ruby/Rakefile | 60 +- bindings/ruby/lib/opendal_ruby/metadata.rb | 2 +- bindings/ruby/opendal.gemspec | 50 +- bindings/ruby/src/capability.rs | 4 +- bindings/ruby/src/io.rs | 8 +- bindings/ruby/src/lib.rs | 7 +- bindings/ruby/src/lister.rs | 4 +- bindings/ruby/src/metadata.rs | 6 +- bindings/ruby/src/middlewares.rs | 37 +- bindings/ruby/src/operator.rs | 8 +- bindings/ruby/src/operator_info.rs | 4 +- bindings/ruby/test/blocking_op_test.rb | 2 +- bindings/ruby/test/metadata_test.rb | 78 + bindings/ruby/test/middlewares_test.rb | 8 +- core/Cargo.lock | 575 ++++--- core/Cargo.toml | 43 +- core/benches/ops/read.rs | 4 +- core/benches/ops/write.rs | 4 +- core/benches/types/buffer.rs | 14 +- core/benches/types/tasks.rs | 2 +- core/benches/vs_fs/Cargo.toml | 4 +- core/benches/vs_fs/src/main.rs | 2 +- core/benches/vs_s3/Cargo.toml | 6 +- core/benches/vs_s3/src/main.rs | 2 +- core/edge/file_write_on_full_disk/src/main.rs | 2 +- .../src/main.rs | 2 +- core/edge/s3_read_on_wasm/src/lib.rs | 2 +- core/fuzz/Cargo.toml | 6 +- core/src/layers/correctness_check.rs | 4 +- core/src/layers/fastmetrics.rs | 2 +- core/src/layers/immutable_index.rs | 4 +- core/src/layers/logging.rs | 2 +- core/src/layers/metrics.rs | 2 +- core/src/layers/mime_guess.rs | 4 +- core/src/layers/observe/metrics.rs | 50 +- core/src/layers/observe/mod.rs | 10 +- core/src/layers/otelmetrics.rs | 2 +- core/src/layers/oteltrace.rs | 4 +- core/src/layers/prometheus.rs | 4 +- core/src/layers/retry.rs | 2 +- core/src/layers/throttle.rs | 14 +- core/src/layers/timeout.rs | 2 +- core/src/layers/tracing.rs | 2 +- core/src/lib.rs | 7 +- core/src/raw/accessor.rs | 10 +- core/src/raw/adapters/kv/api.rs | 3 +- core/src/raw/adapters/typed_kv/api.rs | 15 +- core/src/raw/azure.rs | 4 +- core/src/raw/chrono_util.rs | 109 -- core/src/raw/futures_util.rs | 2 +- core/src/raw/http_util/client.rs | 2 +- core/src/raw/http_util/error.rs | 2 +- core/src/raw/http_util/header.rs | 16 +- core/src/raw/http_util/mod.rs | 8 +- core/src/raw/http_util/multipart.rs | 8 +- core/src/raw/http_util/uri.rs | 4 +- core/src/raw/mod.rs | 4 +- core/src/raw/oio/write/block_write.rs | 4 +- core/src/raw/oio/write/multipart_write.rs | 4 +- core/src/raw/oio/write/position_write.rs | 4 +- core/src/raw/ops.rs | 32 +- core/src/raw/rps.rs | 4 +- core/src/raw/serde_util.rs | 6 +- core/src/raw/std_io_util.rs | 2 +- core/src/raw/tests/mod.rs | 2 +- core/src/raw/tests/read.rs | 7 +- core/src/raw/tests/write.rs | 2 +- core/src/raw/time.rs | 261 +++ core/src/services/aliyun_drive/backend.rs | 21 +- core/src/services/aliyun_drive/core.rs | 10 +- core/src/services/aliyun_drive/lister.rs | 22 +- core/src/services/alluxio/backend.rs | 2 +- core/src/services/alluxio/core.rs | 2 +- core/src/services/alluxio/lister.rs | 4 +- core/src/services/azblob/backend.rs | 5 +- core/src/services/azblob/core.rs | 20 +- core/src/services/azblob/lister.rs | 2 +- core/src/services/azblob/writer.rs | 2 +- core/src/services/azdls/backend.rs | 2 +- core/src/services/azdls/core.rs | 8 +- core/src/services/azdls/lister.rs | 2 +- core/src/services/azfile/backend.rs | 2 +- core/src/services/azfile/core.rs | 8 +- core/src/services/azfile/lister.rs | 4 +- core/src/services/b2/backend.rs | 5 +- core/src/services/b2/core.rs | 15 +- core/src/services/b2/lister.rs | 2 +- core/src/services/cacache/backend.rs | 17 +- core/src/services/cloudflare_kv/backend.rs | 23 +- core/src/services/cloudflare_kv/core.rs | 10 +- core/src/services/cloudflare_kv/delete.rs | 2 +- core/src/services/cloudflare_kv/lister.rs | 2 +- core/src/services/cloudflare_kv/writer.rs | 8 +- core/src/services/compfs/backend.rs | 6 +- core/src/services/compfs/core.rs | 2 +- core/src/services/compfs/reader.rs | 2 +- core/src/services/cos/backend.rs | 1 + core/src/services/cos/core.rs | 14 +- core/src/services/cos/lister.rs | 12 +- core/src/services/d1/backend.rs | 4 +- core/src/services/dashmap/backend.rs | 2 +- core/src/services/dashmap/delete.rs | 2 +- core/src/services/dashmap/writer.rs | 4 +- core/src/services/dbfs/backend.rs | 4 +- core/src/services/dbfs/core.rs | 4 +- core/src/services/dbfs/lister.rs | 8 +- core/src/services/dropbox/backend.rs | 2 +- core/src/services/dropbox/builder.rs | 11 +- core/src/services/dropbox/core.rs | 32 +- core/src/services/dropbox/lister.rs | 2 +- core/src/services/etcd/backend.rs | 4 +- core/src/services/foundationdb/backend.rs | 8 +- core/src/services/fs/backend.rs | 4 +- core/src/services/fs/core.rs | 17 +- core/src/services/fs/lister.rs | 2 +- core/src/services/fs/writer.rs | 8 +- core/src/services/ftp/backend.rs | 8 +- core/src/services/ftp/core.rs | 4 +- core/src/services/ftp/delete.rs | 2 +- core/src/services/ftp/lister.rs | 2 +- core/src/services/gcs/backend.rs | 1 + core/src/services/gcs/core.rs | 19 +- core/src/services/gcs/lister.rs | 2 +- core/src/services/gcs/uri.rs | 2 +- core/src/services/gdrive/backend.rs | 10 +- core/src/services/gdrive/builder.rs | 18 +- core/src/services/gdrive/core.rs | 26 +- core/src/services/ghac/backend.rs | 4 +- core/src/services/ghac/core.rs | 8 +- core/src/services/github/backend.rs | 2 +- core/src/services/github/core.rs | 8 +- core/src/services/gridfs/backend.rs | 4 +- core/src/services/gridfs/core.rs | 4 +- core/src/services/hdfs/backend.rs | 8 +- core/src/services/hdfs/lister.rs | 4 +- core/src/services/hdfs_native/backend.rs | 9 +- core/src/services/hdfs_native/lister.rs | 10 +- core/src/services/hdfs_native/reader.rs | 2 +- core/src/services/http/backend.rs | 6 +- core/src/services/http/core.rs | 4 +- core/src/services/huggingface/backend.rs | 6 +- core/src/services/huggingface/core.rs | 2 +- core/src/services/huggingface/lister.rs | 2 +- core/src/services/ipfs/backend.rs | 2 +- core/src/services/ipmfs/builder.rs | 2 +- core/src/services/ipmfs/lister.rs | 2 +- core/src/services/koofr/backend.rs | 4 +- core/src/services/koofr/core.rs | 4 +- core/src/services/koofr/lister.rs | 6 +- core/src/services/lakefs/backend.rs | 6 +- core/src/services/lakefs/core.rs | 2 +- core/src/services/lakefs/lister.rs | 7 +- core/src/services/memory/backend.rs | 5 +- core/src/services/mini_moka/backend.rs | 2 +- core/src/services/mini_moka/writer.rs | 5 +- core/src/services/moka/backend.rs | 2 +- core/src/services/mongodb/backend.rs | 8 +- core/src/services/monoiofs/backend.rs | 14 +- core/src/services/monoiofs/core.rs | 4 +- core/src/services/monoiofs/reader.rs | 6 +- core/src/services/monoiofs/writer.rs | 14 +- core/src/services/mysql/backend.rs | 6 +- core/src/services/obs/backend.rs | 11 +- core/src/services/obs/core.rs | 4 +- core/src/services/obs/lister.rs | 2 +- core/src/services/onedrive/builder.rs | 22 +- core/src/services/onedrive/core.rs | 21 +- core/src/services/onedrive/graph_model.rs | 2 +- core/src/services/onedrive/lister.rs | 5 +- core/src/services/onedrive/writer.rs | 4 +- core/src/services/opfs/backend.rs | 2 +- core/src/services/opfs/utils.rs | 4 +- core/src/services/oss/backend.rs | 1 + core/src/services/oss/core.rs | 20 +- core/src/services/oss/lister.rs | 10 +- core/src/services/pcloud/backend.rs | 4 +- core/src/services/pcloud/core.rs | 8 +- core/src/services/pcloud/delete.rs | 2 +- core/src/services/pcloud/writer.rs | 2 +- core/src/services/persy/backend.rs | 6 +- core/src/services/postgresql/backend.rs | 6 +- core/src/services/redb/backend.rs | 6 +- core/src/services/redis/backend.rs | 6 +- core/src/services/redis/core.rs | 8 +- core/src/services/rocksdb/backend.rs | 2 +- core/src/services/s3/backend.rs | 8 +- core/src/services/s3/core.rs | 32 +- core/src/services/s3/error.rs | 11 +- core/src/services/s3/lister.rs | 17 +- core/src/services/s3/writer.rs | 2 +- core/src/services/seafile/backend.rs | 6 +- core/src/services/seafile/core.rs | 6 +- core/src/services/seafile/lister.rs | 2 +- core/src/services/sftp/backend.rs | 2 +- core/src/services/sftp/error.rs | 2 +- core/src/services/sftp/lister.rs | 2 +- core/src/services/sftp/utils.rs | 5 +- core/src/services/sled/backend.rs | 6 +- core/src/services/sqlite/backend.rs | 4 +- core/src/services/surrealdb/backend.rs | 17 +- core/src/services/swift/backend.rs | 2 +- core/src/services/swift/core.rs | 2 +- core/src/services/swift/lister.rs | 2 +- core/src/services/tikv/backend.rs | 6 +- core/src/services/upyun/backend.rs | 1 + core/src/services/upyun/core.rs | 6 +- core/src/services/upyun/lister.rs | 6 +- core/src/services/upyun/writer.rs | 2 +- core/src/services/vercel_artifacts/builder.rs | 2 +- core/src/services/vercel_artifacts/core.rs | 2 +- core/src/services/vercel_blob/backend.rs | 4 +- core/src/services/vercel_blob/core.rs | 6 +- core/src/services/vercel_blob/delete.rs | 2 +- core/src/services/vercel_blob/lister.rs | 4 +- core/src/services/webdav/backend.rs | 2 +- core/src/services/webdav/core.rs | 4 +- core/src/services/webhdfs/backend.rs | 4 +- core/src/services/webhdfs/core.rs | 4 +- core/src/services/webhdfs/error.rs | 2 +- core/src/services/webhdfs/lister.rs | 4 +- core/src/services/yandex_disk/backend.rs | 2 +- core/src/services/yandex_disk/core.rs | 6 +- core/src/services/yandex_disk/lister.rs | 4 +- core/src/types/builder.rs | 2 +- core/src/types/context/write.rs | 2 +- core/src/types/delete/futures_delete_sink.rs | 2 +- core/src/types/delete/input.rs | 2 +- core/src/types/execute/api.rs | 2 +- core/src/types/execute/executors/tokio_executor.rs | 2 +- core/src/types/list.rs | 4 +- core/src/types/metadata.rs | 13 +- core/src/types/operator/builder.rs | 2 +- core/src/types/operator/mod.rs | 2 +- core/src/types/operator/operator_futures.rs | 45 +- core/src/types/options.rs | 18 +- core/src/types/read/buffer_stream.rs | 2 +- core/src/types/read/futures_async_reader.rs | 2 +- core/src/types/read/futures_bytes_stream.rs | 2 +- core/src/types/read/reader.rs | 4 +- core/src/types/write/buffer_sink.rs | 4 +- core/src/types/write/futures_async_writer.rs | 2 +- core/src/types/write/writer.rs | 4 +- core/tests/behavior/async_delete.rs | 4 +- core/tests/behavior/async_list.rs | 2 +- core/tests/behavior/async_read.rs | 20 +- core/tests/behavior/async_stat.rs | 4 +- core/tests/behavior/async_write.rs | 10 +- core/tests/behavior/main.rs | 5 +- dev/Cargo.toml | 4 +- dev/src/generate/java.rs | 4 +- dev/src/generate/parser.rs | 4 +- dev/src/generate/python.rs | 4 +- dev/src/release/mod.rs | 2 +- integrations/cloud_filter/Cargo.toml | 4 +- integrations/cloud_filter/examples/readonly.rs | 2 +- integrations/cloud_filter/src/lib.rs | 8 +- .../cloud_filter/tests/behavior/fetch_data.rs | 2 +- .../tests/behavior/fetch_placeholder.rs | 2 +- integrations/cloud_filter/tests/behavior/main.rs | 2 +- integrations/dav-server/Cargo.toml | 4 +- integrations/dav-server/src/dir.rs | 4 +- integrations/dav-server/src/metadata.rs | 7 +- integrations/dav-server/tests/test.rs | 2 +- integrations/fuse3/Cargo.toml | 4 +- integrations/fuse3/src/file_system.rs | 11 +- integrations/object_store/Cargo.toml | 7 +- integrations/object_store/examples/basic.rs | 2 +- integrations/object_store/examples/datafusion.rs | 2 +- integrations/object_store/src/amazon_s3.rs | 4 +- integrations/object_store/src/lib.rs | 12 + integrations/object_store/src/service/core.rs | 16 +- integrations/object_store/src/service/deleter.rs | 2 +- integrations/object_store/src/service/lister.rs | 2 +- integrations/object_store/src/service/mod.rs | 8 +- integrations/object_store/src/service/reader.rs | 4 +- integrations/object_store/src/service/writer.rs | 2 +- integrations/object_store/src/store.rs | 54 +- integrations/object_store/src/utils.rs | 6 +- integrations/object_store/tests/behavior/delete.rs | 2 +- integrations/object_store/tests/behavior/utils.rs | 2 +- integrations/parquet/Cargo.toml | 4 +- integrations/parquet/examples/async_reader.rs | 2 +- integrations/parquet/examples/async_writer.rs | 4 +- integrations/parquet/src/async_reader.rs | 10 +- integrations/parquet/src/async_writer.rs | 4 +- integrations/unftp-sbe/Cargo.toml | 4 +- integrations/unftp-sbe/src/lib.rs | 20 +- integrations/virtiofs/Cargo.toml | 4 +- integrations/virtiofs/src/buffer.rs | 2 +- integrations/virtiofs/src/virtiofs.rs | 4 +- integrations/virtiofs/src/virtiofs_util.rs | 6 +- rustfmt.toml | 2 +- website/DEPENDENCIES.node.csv | 12 +- website/docs/02-vision.md | 4 +- website/docusaurus.config.js | 18 +- website/package.json | 17 +- website/pnpm-lock.yaml | 1786 +++++++++++--------- 426 files changed, 4674 insertions(+), 3560 deletions(-) diff --cc core/src/services/fs/backend.rs index 156c4006d,a42b551c0..01b9cbe63 --- a/core/src/services/fs/backend.rs +++ b/core/src/services/fs/backend.rs @@@ -26,24 -28,32 +27,24 @@@ use super::lister::FsLister use super::reader::FsReader; use super::writer::FsWriter; use super::writer::FsWriters; - use super::FS_SCHEME; use crate::raw::*; use crate::services::FsConfig; +use crate::types::OperatorUri; use crate::*; -use http::Uri; -use percent_encoding::percent_decode_str; impl Configurator for FsConfig { type Builder = FsBuilder; + - fn from_uri(uri: &Uri, options: &HashMap<String, String>) -> Result<Self> { - let mut map = options.clone(); - - if !map.contains_key("root") { - let path = percent_decode_str(uri.path()).decode_utf8_lossy(); - if path.is_empty() || path == "/" { - return Err(Error::new( - ErrorKind::ConfigInvalid, - "fs uri requires absolute path", - )); - } - if !path.starts_with('/') { - return Err(Error::new( - ErrorKind::ConfigInvalid, - "fs uri root must be absolute", - )); - } - map.insert("root".to_string(), path.to_string()); + fn from_uri(uri: &OperatorUri) -> Result<Self> { + let mut map = uri.options().clone(); + + if let Some(value) = match (uri.name(), uri.root()) { + (Some(name), Some(rest)) if !rest.is_empty() => Some(format!("/{}/{}", name, rest)), + (Some(name), _) => Some(format!("/{}", name)), + (None, Some(rest)) if !rest.is_empty() => Some(format!("/{}", rest)), + (None, Some(rest)) => Some(rest.to_string()), + _ => None, + } { + map.insert("root".to_string(), value); } Self::from_iter(map) diff --cc core/src/types/builder.rs index 2ebe36144,c91363ed7..903459775 --- a/core/src/types/builder.rs +++ b/core/src/types/builder.rs @@@ -15,13 -15,14 +15,13 @@@ // specific language governing permissions and limitations // under the License. -use std::collections::HashMap; use std::fmt::Debug; - use serde::de::DeserializeOwned; -use http::Uri; use serde::Serialize; + use serde::de::DeserializeOwned; use crate::raw::*; +use crate::types::OperatorUri; use crate::*; /// Builder is used to set up underlying services. diff --cc core/src/types/operator/mod.rs index 87b27f21a,c42f6d281..3de1ea7c1 --- a/core/src/types/operator/mod.rs +++ b/core/src/types/operator/mod.rs @@@ -30,7 -30,4 +30,7 @@@ pub use info::OperatorInfo pub mod operator_futures; mod registry; - pub use registry::{OperatorFactory, OperatorRegistry, DEFAULT_OPERATOR_REGISTRY}; + pub use registry::{DEFAULT_OPERATOR_REGISTRY, OperatorFactory, OperatorRegistry}; + +mod uri; +pub use uri::{IntoOperatorUri, OperatorUri};
