This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
The following commit(s) were added to refs/heads/gh-pages by this push:
new 634ee9c1 deploy: 24783d2385ff978298535dbf94dc4c302668ce81
634ee9c1 is described below
commit 634ee9c14d31c79c6c7ae08e94b9c8f531fb1424
Author: Xuanwo <[email protected]>
AuthorDate: Tue Mar 28 05:59:14 2023 +0000
deploy: 24783d2385ff978298535dbf94dc4c302668ce81
---
404.html | 4 +-
.../{1db64337.5a7f08fb.js => 1db64337.b7b60221.js} | 2 +-
...e~main.c2825215.js => runtime~main.6bcfd337.js} | 2 +-
blog/archive/index.html | 4 +-
blog/index.html | 4 +-
blog/opendal-entered-apache-incubator/index.html | 4 +-
blog/tags/announcement/index.html | 4 +-
blog/tags/index.html | 4 +-
docs/nodejs/classes/BlockingLister.html | 4 +-
docs/nodejs/classes/Entry.html | 4 +-
docs/nodejs/classes/Lister.html | 4 +-
docs/nodejs/classes/Metadata.html | 18 +--
docs/nodejs/classes/Operator.html | 38 +++---
docs/nodejs/classes/PresignedRequest.html | 10 +-
docs/overview/index.html | 6 +-
docs/python/opendal.html | 32 ++---
docs/python/search.js | 2 +-
docs/rust/opendal/services/struct.Webdav.html | 16 +--
docs/rust/opendal/trait.Builder.html | 2 +-
.../src/opendal/services/webdav/backend.rs.html | 114 +++++++++---------
.../opendal/services/webdav/list_response.rs.html | 130 +++++++++++++++++++++
index.html | 4 +-
22 files changed, 276 insertions(+), 136 deletions(-)
diff --git a/404.html b/404.html
index ed2c120f..097cf806 100644
--- a/404.html
+++ b/404.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Page Not Found | Apache OpenDAL</title><meta
data-rh="true" name="viewport"
content="width=device-width,initial-scale=1"><meta data-rh="true"
name="twitter:card" content="summary_large_image"><meta data-rh="true"
property="og:url" content="https://opendal.apache.org/404.html"><meta
data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true"
name="docusaurus_tag" content="default"><meta data-rh="true"
name="docsearch:language" content="en"><meta data-rh [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml"
title="Apache OpenDAL Atom Feed"><link rel="stylesheet"
href="/assets/css/styles.8610ae2e.css">
-<link rel="preload" href="/assets/js/runtime~main.c2825215.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.6bcfd337.js" as="script">
<link rel="preload" href="/assets/js/main.d23512d8.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function
t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var
t=null;try{t=localStorage.getItem("theme")}catch(t){}return
t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a
class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to
main content</a></div><nav aria-label="Main" class="navbar
navbar--fixed-top"><div class="navbar__inner"><div
class="navbar__items"><button aria-label="Toggle navigation bar"
aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg
width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path
stroke="currentColor" stroke-linecap="roun [...]
-<script src="/assets/js/runtime~main.c2825215.js"></script>
+<script src="/assets/js/runtime~main.6bcfd337.js"></script>
<script src="/assets/js/main.d23512d8.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/assets/js/1db64337.5a7f08fb.js b/assets/js/1db64337.b7b60221.js
similarity index 61%
rename from assets/js/1db64337.5a7f08fb.js
rename to assets/js/1db64337.b7b60221.js
index e22da591..42d46ca4 100644
--- a/assets/js/1db64337.5a7f08fb.js
+++ b/assets/js/1db64337.b7b60221.js
@@ -1 +1 @@
-"use
strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[372],{6777:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>n,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>d,toc:()=>v});var
o=i(7462),r=(i(7294),i(3905));const
a={sidebar_position:1,title:"Overview"},s=void
0,d={unversionedId:"overview",id:"overview",title:"Overview",description:"",source:"@site/docs/overview.md",sourceDirName:".",slug:"/overview",permalink:"/docs/overview",draft:!1,editUrl:
[...]
\ No newline at end of file
+"use
strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[372],{6777:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>n,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>d,toc:()=>v});var
o=i(7462),r=(i(7294),i(3905));const
a={sidebar_position:1,title:"Overview"},s=void
0,d={unversionedId:"overview",id:"overview",title:"Overview",description:"",source:"@site/docs/overview.md",sourceDirName:".",slug:"/overview",permalink:"/docs/overview",draft:!1,editUrl:
[...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.c2825215.js
b/assets/js/runtime~main.6bcfd337.js
similarity index 81%
rename from assets/js/runtime~main.c2825215.js
rename to assets/js/runtime~main.6bcfd337.js
index 6cf928dd..60786c9c 100644
--- a/assets/js/runtime~main.c2825215.js
+++ b/assets/js/runtime~main.6bcfd337.js
@@ -1 +1 @@
-(()=>{"use strict";var e,t,r,o,a,n={},f={};function c(e){var t=f[e];if(void
0!==t)return t.exports;var r=f[e]={exports:{}};return
n[e].call(r.exports,r,r.exports,c),r.exports}c.m=n,e=[],c.O=(t,r,o,a)=>{if(!r){var
n=1/0;for(d=0;d<e.length;d++){r=e[d][0],o=e[d][1],a=e[d][2];for(var
f=!0,i=0;i<r.length;i++)(!1&a||n>=a)&&Object.keys(c.O).every((e=>c.O[e](r[i])))?r.splice(i--,1):(f=!1,a<n&&(n=a));if(f){e.splice(d--,1);var
b=o();void 0!==b&&(t=b)}}return t}a=a||0;for(var d=e.length;d>0&&e[d-1] [...]
\ No newline at end of file
+(()=>{"use strict";var e,t,r,o,a,n={},f={};function c(e){var t=f[e];if(void
0!==t)return t.exports;var r=f[e]={exports:{}};return
n[e].call(r.exports,r,r.exports,c),r.exports}c.m=n,e=[],c.O=(t,r,o,a)=>{if(!r){var
n=1/0;for(b=0;b<e.length;b++){r=e[b][0],o=e[b][1],a=e[b][2];for(var
f=!0,i=0;i<r.length;i++)(!1&a||n>=a)&&Object.keys(c.O).every((e=>c.O[e](r[i])))?r.splice(i--,1):(f=!1,a<n&&(n=a));if(f){e.splice(b--,1);var
d=o();void 0!==d&&(t=d)}}return t}a=a||0;for(var b=e.length;b>0&&e[b-1] [...]
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 07482587..3c5c616b 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Archive | Apache OpenDAL</title><meta data-rh="true"
name="viewport" content="width=device-width,initial-scale=1"><meta
data-rh="true" name="twitter:card" content="summary_large_image"><meta
data-rh="true" property="og:url"
content="https://opendal.apache.org/blog/archive"><meta data-rh="true"
name="docusaurus_locale" content="en"><meta data-rh="true"
name="docusaurus_tag" content="default"><meta data-rh="true"
name="docsearch:language" content="en"><meta data-rh="t [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml"
title="Apache OpenDAL Atom Feed"><link rel="stylesheet"
href="/assets/css/styles.8610ae2e.css">
-<link rel="preload" href="/assets/js/runtime~main.c2825215.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.6bcfd337.js" as="script">
<link rel="preload" href="/assets/js/main.d23512d8.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function
t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var
t=null;try{t=localStorage.getItem("theme")}catch(t){}return
t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a
class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to
main content</a></div><nav aria-label="Main" class="navbar
navbar--fixed-top"><div class="navbar__inner"><div
class="navbar__items"><button aria-label="Toggle navigation bar"
aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg
width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path
stroke="currentColor" stroke-linecap="roun [...]
-<script src="/assets/js/runtime~main.c2825215.js"></script>
+<script src="/assets/js/runtime~main.6bcfd337.js"></script>
<script src="/assets/js/main.d23512d8.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 22094d9d..f9a7feaa 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Blog | Apache OpenDAL</title><meta data-rh="true"
name="viewport" content="width=device-width,initial-scale=1"><meta
data-rh="true" name="twitter:card" content="summary_large_image"><meta
data-rh="true" property="og:url"
content="https://opendal.apache.org/blog"><meta data-rh="true"
name="docusaurus_locale" content="en"><meta data-rh="true"
name="docsearch:language" content="en"><meta data-rh="true" property="og:title"
content="Blog | Apache OpenDAL"><meta data-rh=" [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml"
title="Apache OpenDAL Atom Feed"><link rel="stylesheet"
href="/assets/css/styles.8610ae2e.css">
-<link rel="preload" href="/assets/js/runtime~main.c2825215.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.6bcfd337.js" as="script">
<link rel="preload" href="/assets/js/main.d23512d8.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function
t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var
t=null;try{t=localStorage.getItem("theme")}catch(t){}return
t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a
class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to
main content</a></div><nav aria-label="Main" class="navbar
navbar--fixed-top"><div class="navbar__inner"><div
class="navbar__items"><button aria-label="Toggle navigation bar"
aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg
width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path
stroke="currentColor" stroke-linecap="roun [...]
-<script src="/assets/js/runtime~main.c2825215.js"></script>
+<script src="/assets/js/runtime~main.6bcfd337.js"></script>
<script src="/assets/js/main.d23512d8.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/opendal-entered-apache-incubator/index.html
b/blog/opendal-entered-apache-incubator/index.html
index ce256d2a..f97cd56c 100644
--- a/blog/opendal-entered-apache-incubator/index.html
+++ b/blog/opendal-entered-apache-incubator/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Way to Go: OpenDAL successfully entered Apache Incubator
| Apache OpenDAL</title><meta data-rh="true" name="viewport"
content="width=device-width,initial-scale=1"><meta data-rh="true"
name="twitter:card" content="summary_large_image"><meta data-rh="true"
property="og:url"
content="https://opendal.apache.org/blog/opendal-entered-apache-incubator"><meta
data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true"
name="docusaurus_tag" content="default"><m [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml"
title="Apache OpenDAL Atom Feed"><link rel="stylesheet"
href="/assets/css/styles.8610ae2e.css">
-<link rel="preload" href="/assets/js/runtime~main.c2825215.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.6bcfd337.js" as="script">
<link rel="preload" href="/assets/js/main.d23512d8.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function
t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var
t=null;try{t=localStorage.getItem("theme")}catch(t){}return
t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a
class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to
main content</a></div><nav aria-label="Main" class="navbar
navbar--fixed-top"><div class="navbar__inner"><div
class="navbar__items"><button aria-label="Toggle navigation bar"
aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg
width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path
stroke="currentColor" stroke-linecap="roun [...]
-<script src="/assets/js/runtime~main.c2825215.js"></script>
+<script src="/assets/js/runtime~main.6bcfd337.js"></script>
<script src="/assets/js/main.d23512d8.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/announcement/index.html
b/blog/tags/announcement/index.html
index f5ec8ee3..15e0ee97 100644
--- a/blog/tags/announcement/index.html
+++ b/blog/tags/announcement/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">One post tagged with "announcement" | Apache
OpenDAL</title><meta data-rh="true" name="viewport"
content="width=device-width,initial-scale=1"><meta data-rh="true"
name="twitter:card" content="summary_large_image"><meta data-rh="true"
property="og:url"
content="https://opendal.apache.org/blog/tags/announcement"><meta
data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true"
name="docsearch:language" content="en"><meta data-rh="true" property [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml"
title="Apache OpenDAL Atom Feed"><link rel="stylesheet"
href="/assets/css/styles.8610ae2e.css">
-<link rel="preload" href="/assets/js/runtime~main.c2825215.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.6bcfd337.js" as="script">
<link rel="preload" href="/assets/js/main.d23512d8.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function
t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var
t=null;try{t=localStorage.getItem("theme")}catch(t){}return
t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a
class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to
main content</a></div><nav aria-label="Main" class="navbar
navbar--fixed-top"><div class="navbar__inner"><div
class="navbar__items"><button aria-label="Toggle navigation bar"
aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg
width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path
stroke="currentColor" stroke-linecap="roun [...]
-<script src="/assets/js/runtime~main.c2825215.js"></script>
+<script src="/assets/js/runtime~main.6bcfd337.js"></script>
<script src="/assets/js/main.d23512d8.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index b4a41f5d..8a8d149c 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Tags | Apache OpenDAL</title><meta data-rh="true"
name="viewport" content="width=device-width,initial-scale=1"><meta
data-rh="true" name="twitter:card" content="summary_large_image"><meta
data-rh="true" property="og:url"
content="https://opendal.apache.org/blog/tags"><meta data-rh="true"
name="docusaurus_locale" content="en"><meta data-rh="true"
name="docsearch:language" content="en"><meta data-rh="true" property="og:title"
content="Tags | Apache OpenDAL"><meta data [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml"
title="Apache OpenDAL Atom Feed"><link rel="stylesheet"
href="/assets/css/styles.8610ae2e.css">
-<link rel="preload" href="/assets/js/runtime~main.c2825215.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.6bcfd337.js" as="script">
<link rel="preload" href="/assets/js/main.d23512d8.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function
t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var
t=null;try{t=localStorage.getItem("theme")}catch(t){}return
t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a
class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to
main content</a></div><nav aria-label="Main" class="navbar
navbar--fixed-top"><div class="navbar__inner"><div
class="navbar__items"><button aria-label="Toggle navigation bar"
aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg
width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path
stroke="currentColor" stroke-linecap="roun [...]
-<script src="/assets/js/runtime~main.c2825215.js"></script>
+<script src="/assets/js/runtime~main.6bcfd337.js"></script>
<script src="/assets/js/main.d23512d8.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/nodejs/classes/BlockingLister.html
b/docs/nodejs/classes/BlockingLister.html
index be96d2fc..e3bfa1f5 100644
--- a/docs/nodejs/classes/BlockingLister.html
+++ b/docs/nodejs/classes/BlockingLister.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">BlockingLister</span></li></ul></section><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L119">index.d.ts:119</a></li></ul></aside>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L119">index.d.ts:119</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary
class="tsd-accordion-summary tsd-index-summary">
@@ -51,7 +51,7 @@
<li class="tsd-description">
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> |
</span><a href="Entry.html" class="tsd-signature-type"
data-tsd-kind="Class">Entry</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L120">index.d.ts:120</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L120">index.d.ts:120</a></li></ul></aside></li></ul></section></section></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
diff --git a/docs/nodejs/classes/Entry.html b/docs/nodejs/classes/Entry.html
index d15a1dd0..01444684 100644
--- a/docs/nodejs/classes/Entry.html
+++ b/docs/nodejs/classes/Entry.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">Entry</span></li></ul></section><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L86">index.d.ts:86</a></li></ul></aside>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L86">index.d.ts:86</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary
class="tsd-accordion-summary tsd-index-summary">
@@ -53,7 +53,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L88">index.d.ts:88</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L88">index.d.ts:88</a></li></ul></aside></li></ul></section></section></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
diff --git a/docs/nodejs/classes/Lister.html b/docs/nodejs/classes/Lister.html
index fb3aef46..d426e559 100644
--- a/docs/nodejs/classes/Lister.html
+++ b/docs/nodejs/classes/Lister.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">Lister</span></li></ul></section><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L108">index.d.ts:108</a></li></ul></aside>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L108">index.d.ts:108</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary
class="tsd-accordion-summary tsd-index-summary">
@@ -61,7 +61,7 @@ thing internally.</p>
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Promise</span><span
class="tsd-signature-symbol"><</span><span
class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> |
</span><a href="Entry.html" class="tsd-signature-type"
data-tsd-kind="Class">Entry</a><span
class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L117">index.d.ts:117</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L117">index.d.ts:117</a></li></ul></aside></li></ul></section></section></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
diff --git a/docs/nodejs/classes/Metadata.html
b/docs/nodejs/classes/Metadata.html
index 49491782..c905eec3 100644
--- a/docs/nodejs/classes/Metadata.html
+++ b/docs/nodejs/classes/Metadata.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">Metadata</span></li></ul></section><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L90">index.d.ts:90</a></li></ul></aside>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L90">index.d.ts:90</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary
class="tsd-accordion-summary tsd-index-summary">
@@ -63,7 +63,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> |
</span><span class="tsd-signature-type">string</span></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L96">index.d.ts:96</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L96">index.d.ts:96</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-accessor
tsd-parent-kind-class"><a id="contentLength" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>content<wbr/>Length</span><a
href="#contentLength" aria-label="Permalink" class="tsd-anchor-icon"><svg
class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><use href="#icon-anchor-a"></use><use
href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
@@ -73,7 +73,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> |
</span><span class="tsd-signature-type">bigint</span></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L98">index.d.ts:98</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L98">index.d.ts:98</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-accessor
tsd-parent-kind-class"><a id="contentMd5" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>content<wbr/>Md5</span><a href="#contentMd5"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
@@ -83,7 +83,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> |
</span><span class="tsd-signature-type">string</span></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L100">index.d.ts:100</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L100">index.d.ts:100</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-accessor
tsd-parent-kind-class"><a id="contentType" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>content<wbr/>Type</span><a
href="#contentType" aria-label="Permalink" class="tsd-anchor-icon"><svg
class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><use href="#icon-anchor-a"></use><use
href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
@@ -93,7 +93,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> |
</span><span class="tsd-signature-type">string</span></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L102">index.d.ts:102</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L102">index.d.ts:102</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-accessor
tsd-parent-kind-class"><a id="etag" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>etag</span><a href="#etag"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
@@ -103,7 +103,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> |
</span><span class="tsd-signature-type">string</span></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L104">index.d.ts:104</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L104">index.d.ts:104</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-accessor
tsd-parent-kind-class"><a id="lastModified" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>last<wbr/>Modified</span><a
href="#lastModified" aria-label="Permalink" class="tsd-anchor-icon"><svg
class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><use href="#icon-anchor-a"></use><use
href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
@@ -113,7 +113,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> |
</span><span class="tsd-signature-type">string</span></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L106">index.d.ts:106</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L106">index.d.ts:106</a></li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="isDirectory" class="tsd-anchor"></a>
@@ -125,7 +125,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L92">index.d.ts:92</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L92">index.d.ts:92</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="isFile" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>is<wbr/>File</span><a href="#isFile"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -135,7 +135,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L94">index.d.ts:94</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L94">index.d.ts:94</a></li></ul></aside></li></ul></section></section></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
diff --git a/docs/nodejs/classes/Operator.html
b/docs/nodejs/classes/Operator.html
index 5cf6a069..774b62c3 100644
--- a/docs/nodejs/classes/Operator.html
+++ b/docs/nodejs/classes/Operator.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">Operator</span></li></ul></section><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L25">index.d.ts:25</a></li></ul></aside>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L25">index.d.ts:25</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary
class="tsd-accordion-summary tsd-index-summary">
@@ -66,7 +66,7 @@
<h5><code class="tsd-tag ts-flagOptional">Optional</code> options: <span
class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> |
</span><span class="tsd-signature-type">Record</span><span
class="tsd-signature-symbol"><</span><span
class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,
</span><span class="tsd-signature-type">string</span><span
class="tsd-signature-symbol">></span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="Operator.html"
class="tsd-signature-type" data-tsd-kind="Class">Operator</a></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L26">index.d.ts:26</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L26">index.d.ts:26</a></li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="createDir" class="tsd-anchor"></a>
@@ -83,7 +83,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Promise</span><span
class="tsd-signature-symbol"><</span><span
class="tsd-signature-type">void</span><span
class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L32">index.d.ts:32</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L32">index.d.ts:32</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="createDirSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>create<wbr/>Dir<wbr/>Sync</span><a
href="#createDirSync" aria-label="Permalink" class="tsd-anchor-icon"><svg
class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><use href="#icon-anchor-a"></use><use
href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -98,7 +98,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L34">index.d.ts:34</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L34">index.d.ts:34</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="delete" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>delete</span><a href="#delete"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -113,7 +113,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Promise</span><span
class="tsd-signature-symbol"><</span><span
class="tsd-signature-type">void</span><span
class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L48">index.d.ts:48</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L48">index.d.ts:48</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="deleteSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>delete<wbr/>Sync</span><a href="#deleteSync"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -128,7 +128,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L50">index.d.ts:50</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L50">index.d.ts:50</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="list" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>list</span><a href="#list"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -145,7 +145,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Promise</span><span
class="tsd-signature-symbol"><</span><a href="Lister.html"
class="tsd-signature-type" data-tsd-kind="Class">Lister</a><span
class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L58">index.d.ts:58</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L58">index.d.ts:58</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="listSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>list<wbr/>Sync</span><a href="#listSync"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -162,7 +162,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="BlockingLister.html"
class="tsd-signature-type" data-tsd-kind="Class">BlockingLister</a></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L66">index.d.ts:66</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L66">index.d.ts:66</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="presignRead" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>presign<wbr/>Read</span><a
href="#presignRead" aria-label="Permalink" class="tsd-anchor-icon"><svg
class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><use href="#icon-anchor-a"></use><use
href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -180,7 +180,7 @@
<h5>expires: <span
class="tsd-signature-type">number</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="PresignedRequest.html"
class="tsd-signature-type"
data-tsd-kind="Class">PresignedRequest</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L72">index.d.ts:72</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L72">index.d.ts:72</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="presignStat" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>presign<wbr/>Stat</span><a
href="#presignStat" aria-label="Permalink" class="tsd-anchor-icon"><svg
class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><use href="#icon-anchor-a"></use><use
href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -198,7 +198,7 @@
<h5>expires: <span
class="tsd-signature-type">number</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="PresignedRequest.html"
class="tsd-signature-type"
data-tsd-kind="Class">PresignedRequest</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L84">index.d.ts:84</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L84">index.d.ts:84</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="presignWrite" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>presign<wbr/>Write</span><a
href="#presignWrite" aria-label="Permalink" class="tsd-anchor-icon"><svg
class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><use href="#icon-anchor-a"></use><use
href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -216,7 +216,7 @@
<h5>expires: <span
class="tsd-signature-type">number</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="PresignedRequest.html"
class="tsd-signature-type"
data-tsd-kind="Class">PresignedRequest</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L78">index.d.ts:78</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L78">index.d.ts:78</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="read" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>read</span><a href="#read"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -231,7 +231,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Promise</span><span
class="tsd-signature-symbol"><</span><span
class="tsd-signature-type">Buffer</span><span
class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L40">index.d.ts:40</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L40">index.d.ts:40</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="readSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>read<wbr/>Sync</span><a href="#readSync"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -246,7 +246,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Buffer</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L42">index.d.ts:42</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L42">index.d.ts:42</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="scan" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>scan</span><a href="#scan"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -261,7 +261,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Promise</span><span
class="tsd-signature-symbol"><</span><a href="Lister.html"
class="tsd-signature-type" data-tsd-kind="Class">Lister</a><span
class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L44">index.d.ts:44</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L44">index.d.ts:44</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="scanSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>scan<wbr/>Sync</span><a href="#scanSync"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -276,7 +276,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="BlockingLister.html"
class="tsd-signature-type" data-tsd-kind="Class">BlockingLister</a></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L46">index.d.ts:46</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L46">index.d.ts:46</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="stat" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>stat</span><a href="#stat"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -291,7 +291,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Promise</span><span
class="tsd-signature-symbol"><</span><a href="Metadata.html"
class="tsd-signature-type" data-tsd-kind="Class">Metadata</a><span
class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L28">index.d.ts:28</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L28">index.d.ts:28</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="statSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>stat<wbr/>Sync</span><a href="#statSync"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -306,7 +306,7 @@
<h5>path: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="Metadata.html"
class="tsd-signature-type" data-tsd-kind="Class">Metadata</a></h4><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L30">index.d.ts:30</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L30">index.d.ts:30</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="write" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>write</span><a href="#write"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -323,7 +323,7 @@
<h5>content: <span class="tsd-signature-type">string</span><span
class="tsd-signature-symbol"> | </span><span
class="tsd-signature-type">Buffer</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Promise</span><span
class="tsd-signature-symbol"><</span><span
class="tsd-signature-type">void</span><span
class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L36">index.d.ts:36</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L36">index.d.ts:36</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="writeSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>write<wbr/>Sync</span><a href="#writeSync"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -340,7 +340,7 @@
<h5>content: <span class="tsd-signature-type">string</span><span
class="tsd-signature-symbol"> | </span><span
class="tsd-signature-type">Buffer</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L38">index.d.ts:38</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L38">index.d.ts:38</a></li></ul></aside></li></ul></section></section></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
diff --git a/docs/nodejs/classes/PresignedRequest.html
b/docs/nodejs/classes/PresignedRequest.html
index 8be21150..bd152920 100644
--- a/docs/nodejs/classes/PresignedRequest.html
+++ b/docs/nodejs/classes/PresignedRequest.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">PresignedRequest</span></li></ul></section><aside
class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L122">index.d.ts:122</a></li></ul></aside>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L122">index.d.ts:122</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary
class="tsd-accordion-summary tsd-index-summary">
@@ -58,7 +58,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L124">index.d.ts:124</a></li></ul></aside></li></ul></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L124">index.d.ts:124</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-accessor
tsd-parent-kind-class"><a id="uri" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>uri</span><a href="#uri"
aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler
icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none" stroke-linecap="round" stroke-linejoin="round"><use
href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use
href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
@@ -68,7 +68,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L126">index.d.ts:126</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L126">index.d.ts:126</a></li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a
id="headers" class="tsd-anchor"></a>
@@ -77,11 +77,11 @@
<li class="tsd-signature tsd-anchor-link" id="headers.headers-1">headers<span
class="tsd-signature-symbol">(</span><span
class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:
</span><span class="tsd-signature-type">Record</span><span
class="tsd-signature-symbol"><</span><span
class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,
</span><span class="tsd-signature-type">string</span><span
class="tsd-signature-symbol">></span><a href="#header [...]
<li class="tsd-description">
<div class="tsd-comment tsd-typography"><p>Returns the headers of this
request.</p>
-<p>The key of the map is the header name, and the value is the header value AS
bytes.</p>
+<p>The key of the map is the header name, and the value is the header
value.</p>
</div>
<h4 class="tsd-returns-title">Returns <span
class="tsd-signature-type">Record</span><span
class="tsd-signature-symbol"><</span><span
class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,
</span><span class="tsd-signature-type">string</span><span
class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/0fc67b6/bindings/nodejs/index.d.ts#L132">index.d.ts:132</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a
href="https://github.com/apache/incubator-opendal/blob/24783d2/bindings/nodejs/index.d.ts#L132">index.d.ts:132</a></li></ul></aside></li></ul></section></section></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
diff --git a/docs/overview/index.html b/docs/overview/index.html
index c7e69051..b7c99c9f 100644
--- a/docs/overview/index.html
+++ b/docs/overview/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Overview | Apache OpenDAL</title><meta data-rh="true"
name="viewport" content="width=device-width,initial-scale=1"><meta
data-rh="true" name="twitter:card" content="summary_large_image"><meta
data-rh="true" property="og:url"
content="https://opendal.apache.org/docs/overview"><meta data-rh="true"
name="docusaurus_locale" content="en"><meta data-rh="true"
name="docsearch:language" content="en"><meta data-rh="true"
name="docusaurus_version" content="current"><meta data [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml"
title="Apache OpenDAL Atom Feed"><link rel="stylesheet"
href="/assets/css/styles.8610ae2e.css">
-<link rel="preload" href="/assets/js/runtime~main.c2825215.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.6bcfd337.js" as="script">
<link rel="preload" href="/assets/js/main.d23512d8.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function
t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var
t=null;try{t=localStorage.getItem("theme")}catch(t){}return
t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a
class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to
main content</a></div><nav aria-label="Main" class="navbar
navbar--fixed-top"><div class="navbar__inner"><div
class="navbar__items"><button aria-label="Toggle navigation bar"
aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg
width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path
stroke="currentColor" stroke-linecap="roun [...]
-<script src="/assets/js/runtime~main.c2825215.js"></script>
+<div role="region" aria-label="Skip to main content"><a
class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to
main content</a></div><nav aria-label="Main" class="navbar
navbar--fixed-top"><div class="navbar__inner"><div
class="navbar__items"><button aria-label="Toggle navigation bar"
aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg
width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path
stroke="currentColor" stroke-linecap="roun [...]
+<script src="/assets/js/runtime~main.6bcfd337.js"></script>
<script src="/assets/js/main.d23512d8.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/python/opendal.html b/docs/python/opendal.html
index f2f72a5f..6b047bd4 100644
--- a/docs/python/opendal.html
+++ b/docs/python/opendal.html
@@ -155,6 +155,9 @@
<li>
<a class="class" href="#Metadata">Metadata</a>
<ul class="memberlist">
+ <li>
+ <a class="variable"
href="#Metadata.mode">mode</a>
+ </li>
<li>
<a class="variable"
href="#Metadata.content_type">content_type</a>
</li>
@@ -164,9 +167,6 @@
<li>
<a class="variable"
href="#Metadata.content_length">content_length</a>
</li>
- <li>
- <a class="variable"
href="#Metadata.mode">mode</a>
- </li>
<li>
<a class="variable"
href="#Metadata.etag">etag</a>
</li>
@@ -852,6 +852,19 @@ The default value for whence is <code>SEEK_SET</code>.
Values for <code>whence</
+ <div id="Metadata.mode" class="classattr">
+ <div class="attr variable">
+ <span class="name">mode</span><span class="annotation">: <a
href="#EntryMode">opendal.EntryMode</a></span>
+
+
+ </div>
+ <a class="headerlink" href="#Metadata.mode"></a>
+
+ <div class="docstring"><p>mode represent this entry's mode.</p>
+</div>
+
+
+ </div>
<div id="Metadata.content_type" class="classattr">
<div class="attr variable">
<span class="name">content_type</span><span class="annotation">:
Optional[str]</span>
@@ -890,19 +903,6 @@ The default value for whence is <code>SEEK_SET</code>.
Values for <code>whence</
</div>
- </div>
- <div id="Metadata.mode" class="classattr">
- <div class="attr variable">
- <span class="name">mode</span><span class="annotation">: <a
href="#EntryMode">opendal.EntryMode</a></span>
-
-
- </div>
- <a class="headerlink" href="#Metadata.mode"></a>
-
- <div class="docstring"><p>mode represent this entry's mode.</p>
-</div>
-
-
</div>
<div id="Metadata.etag" class="classattr">
<div class="attr variable">
diff --git a/docs/python/search.js b/docs/python/search.js
index c625d6d5..c04d1c91 100644
--- a/docs/python/search.js
+++ b/docs/python/search.js
@@ -1,6 +1,6 @@
window.pdocSearch = (function(){
/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver
Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function
e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n
in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new
t.Index;return
n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return
function(t){e.console&&console.wa [...]
- /** pdoc search index */const docs = {"version": "0.9.5", "fields":
["qualname", "fullname", "annotation", "default_value", "signature", "bases",
"doc"], "ref": "fullname", "documentStore": {"docs": {"opendal": {"fullname":
"opendal", "modulename": "opendal", "kind": "module", "doc": "<p>OpenDAL Python
binding</p>\n\n<h2 id=\"installation\">Installation</h2>\n\n<div
class=\"pdoc-code codehilite\">\n<pre><span></span><code>pip<span class=\"w\">
</span>install<span class=\"w\"> </span> [...]
+ /** pdoc search index */const docs = {"version": "0.9.5", "fields":
["qualname", "fullname", "annotation", "default_value", "signature", "bases",
"doc"], "ref": "fullname", "documentStore": {"docs": {"opendal": {"fullname":
"opendal", "modulename": "opendal", "kind": "module", "doc": "<p>OpenDAL Python
binding</p>\n\n<h2 id=\"installation\">Installation</h2>\n\n<div
class=\"pdoc-code codehilite\">\n<pre><span></span><code>pip<span class=\"w\">
</span>install<span class=\"w\"> </span> [...]
// mirrored in build-search-index.js (part 1)
// Also split on html tags. this is a cheap heuristic, but good enough.
diff --git a/docs/rust/opendal/services/struct.Webdav.html
b/docs/rust/opendal/services/struct.Webdav.html
index 1ad5d62f..cbbb54c1 100644
--- a/docs/rust/opendal/services/struct.Webdav.html
+++ b/docs/rust/opendal/services/struct.Webdav.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta
name="viewport" content="width=device-width, initial-scale=1.0"><meta
name="generator" content="rustdoc"><meta name="description" content="WebDAV
backend support."><meta name="keywords" content="rust, rustlang, rust-lang,
Webdav"><title>Webdav in opendal::services - Rust</title><link rel="preload"
as="font" type="font/woff2" crossorigin
href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link
rel="pre [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta
name="viewport" content="width=device-width, initial-scale=1.0"><meta
name="generator" content="rustdoc"><meta name="description" content="WebDAV
backend support."><meta name="keywords" content="rust, rustlang, rust-lang,
Webdav"><title>Webdav in opendal::services - Rust</title><link rel="preload"
as="font" type="font/woff2" crossorigin
href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link
rel="pre [...]
<h2 id="capabilities"><a href="#capabilities">Capabilities</a></h2>
<p>This service can be used to:</p>
<ul>
@@ -42,20 +42,20 @@ Users can use <code>webdav</code> to connect those
services.</p>
<span class="kw">let </span>op: Operator = Operator::new(builder)<span
class="question-mark">?</span>.finish();
<span class="prelude-val">Ok</span>(())
}</code></pre></div>
-</div></details><h2 id="implementations"
class="small-section-header">Implementations<a href="#implementations"
class="anchor">§</a></h2><div id="implementations-list"><details class="toggle
implementors-toggle" open><summary><section id="impl-WebdavBuilder" class="impl
has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#106-171">source</a><a
href="#impl-WebdavBuilder" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="s [...]
+</div></details><h2 id="implementations"
class="small-section-header">Implementations<a href="#implementations"
class="anchor">§</a></h2><div id="implementations-list"><details class="toggle
implementors-toggle" open><summary><section id="impl-WebdavBuilder" class="impl
has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#107-172">source</a><a
href="#impl-WebdavBuilder" class="anchor">§</a><h3 class="code-header">impl <a
class="struct" href="s [...]
<p>For example: <code>https://example.com</code></p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.username" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#123-128">source</a><h4
class="code-header">pub fn <a href="#method.username"
class="fn">username</a>(&mut self, username: &<a class="primitive"
href="https://doc.rust-lang.org/1.68.1/std/primitive.str.html">str</a>) ->
<a class="primitive" href="https://doc.rust-lang.org [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.username" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#124-129">source</a><h4
class="code-header">pub fn <a href="#method.username"
class="fn">username</a>(&mut self, username: &<a class="primitive"
href="https://doc.rust-lang.org/1.68.1/std/primitive.str.html">str</a>) ->
<a class="primitive" href="https://doc.rust-lang.org [...]
<p>default: no password</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.password" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#133-138">source</a><h4
class="code-header">pub fn <a href="#method.password"
class="fn">password</a>(&mut self, password: &<a class="primitive"
href="https://doc.rust-lang.org/1.68.1/std/primitive.str.html">str</a>) ->
<a class="primitive" href="https://doc.rust-lang.org [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.password" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#134-139">source</a><h4
class="code-header">pub fn <a href="#method.password"
class="fn">password</a>(&mut self, password: &<a class="primitive"
href="https://doc.rust-lang.org/1.68.1/std/primitive.str.html">str</a>) ->
<a class="primitive" href="https://doc.rust-lang.org [...]
<p>default: no password</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.token" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#143-148">source</a><h4
class="code-header">pub fn <a href="#method.token"
class="fn">token</a>(&mut self, token: &<a class="primitive"
href="https://doc.rust-lang.org/1.68.1/std/primitive.str.html">str</a>) ->
<a class="primitive" href="https://doc.rust-lang.org/1.68.1/std/ [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.token" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#144-149">source</a><h4
class="code-header">pub fn <a href="#method.token"
class="fn">token</a>(&mut self, token: &<a class="primitive"
href="https://doc.rust-lang.org/1.68.1/std/primitive.str.html">str</a>) ->
<a class="primitive" href="https://doc.rust-lang.org/1.68.1/std/ [...]
<p>default: no access token</p>
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.root" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#151-159">source</a><h4
class="code-header">pub fn <a href="#method.root" class="fn">root</a>(&mut
self, root: &<a class="primitive"
href="https://doc.rust-lang.org/1.68.1/std/primitive.str.html">str</a>) ->
<a class="primitive" href="https://doc.rust-lang.org/1.68.1/std/prim [...]
-</div></details><details class="toggle method-toggle" open><summary><section
id="method.http_client" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#167-170">source</a><h4
class="code-header">pub fn <a href="#method.http_client"
class="fn">http_client</a>(&mut self, client: <a class="struct"
href="../raw/struct.HttpClient.html" title="struct
opendal::raw::HttpClient">HttpClient</a>) -> <a class="primitive"
href="https [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.root" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#152-160">source</a><h4
class="code-header">pub fn <a href="#method.root" class="fn">root</a>(&mut
self, root: &<a class="primitive"
href="https://doc.rust-lang.org/1.68.1/std/primitive.str.html">str</a>) ->
<a class="primitive" href="https://doc.rust-lang.org/1.68.1/std/prim [...]
+</div></details><details class="toggle method-toggle" open><summary><section
id="method.http_client" class="method has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#168-171">source</a><h4
class="code-header">pub fn <a href="#method.http_client"
class="fn">http_client</a>(&mut self, client: <a class="struct"
href="../raw/struct.HttpClient.html" title="struct
opendal::raw::HttpClient">HttpClient</a>) -> <a class="primitive"
href="https [...]
<h5 id="notes-1"><a href="#notes-1">Notes</a></h5>
<p>This API is part of OpenDAL’s Raw API. <code>HttpClient</code> could be
changed
during minor updates.</p>
-</div></details></div></details></div><h2 id="trait-implementations"
class="small-section-header">Trait Implementations<a
href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Builder-for-WebdavBuilder" class="impl
has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#173-231">source</a><a
href="#impl-Builder-for-WebdavBuilder" clas [...]
+</div></details></div></details></div><h2 id="trait-implementations"
class="small-section-header">Trait Implementations<a
href="#trait-implementations" class="anchor">§</a></h2><div
id="trait-implementations-list"><details class="toggle implementors-toggle"
open><summary><section id="impl-Builder-for-WebdavBuilder" class="impl
has-srclink"><a class="srclink rightside"
href="../../src/opendal/services/webdav/backend.rs.html#174-232">source</a><a
href="#impl-Builder-for-WebdavBuilder" clas [...]
</div></details></div></details><details class="toggle
implementors-toggle"><summary><section id="impl-Instrument-for-WebdavBuilder"
class="impl has-srclink"><a class="srclink rightside"
href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#276">source</a><a
href="#impl-Instrument-for-WebdavBuilder" class="anchor">§</a><h3
class="code-header">impl<T> <a class="trait"
href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html"
title="trait tracing::i [...]
<code>Instrumented</code> wrapper. <a
href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument">Read
more</a></div></details><details class="toggle method-toggle"
open><summary><section id="method.in_current_span" class="method trait-impl
has-srclink"><a class="srclink rightside"
href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#121">source</a><a
href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn
<a href= [...]
<code>Instrumented</code> wrapper. <a
href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span">Read
more</a></div></details></div></details><details class="toggle
implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-WebdavBuilder"
class="impl has-srclink"><a class="srclink rightside"
href="https://doc.rust-lang.org/1.68.1/src/core/convert/mod.rs.html#717">source</a><a
href="#impl-Into%3CU%3E-for-WebdavBuilder" class="anchor">§</a><h [...]
diff --git a/docs/rust/opendal/trait.Builder.html
b/docs/rust/opendal/trait.Builder.html
index 67b9b6d9..1a799166 100644
--- a/docs/rust/opendal/trait.Builder.html
+++ b/docs/rust/opendal/trait.Builder.html
@@ -19,4 +19,4 @@
</div></details></div><h2 id="provided-methods"
class="small-section-header">Provided Methods<a href="#provided-methods"
class="anchor">§</a></h2><div class="methods"><details class="toggle
method-toggle" open><summary><section id="method.from_iter" class="method
has-srclink"><a class="srclink rightside"
href="../src/opendal/types/builder.rs.html#37-42">source</a><h4
class="code-header">fn <a href="#method.from_iter"
class="fn">from_iter</a>(iter: impl <a class="trait" href="https://doc. [...]
</div></details><details class="toggle method-toggle" open><summary><section
id="method.from_env" class="method has-srclink"><a class="srclink rightside"
href="../src/opendal/types/builder.rs.html#45-59">source</a><h4
class="code-header">fn <a href="#method.from_env" class="fn">from_env</a>()
-> Self<span class="where
fmt-newline">where<br> Self: <a class="trait"
href="https://doc.rust-lang.org/1.68.1/core/marker/trait.Sized.html"
title="trait core::marker::Size [...]
</div></details></div><h2 id="foreign-impls"
class="small-section-header">Implementations on Foreign Types<a
href="#foreign-impls" class="anchor">§</a></h2><details class="toggle
implementors-toggle"><summary><section id="impl-Builder-for-()" class="impl
has-srclink"><a class="srclink rightside"
href="../src/opendal/types/builder.rs.html#66-76">source</a><a
href="#impl-Builder-for-()" class="anchor">§</a><h3 class="code-header">impl <a
class="trait" href="trait.Builder.html" title="trait [...]
-</div><div class="impl-items"><section id="associatedconstant.SCHEME-1"
class="associatedconstant trait-impl has-srclink"><a class="srclink rightside"
href="../src/opendal/types/builder.rs.html#67">source</a><a
href="#associatedconstant.SCHEME-1" class="anchor">§</a><h4
class="code-header">const <a href="#associatedconstant.SCHEME"
class="constant">SCHEME</a>: <a class="enum" href="enum.Scheme.html"
title="enum opendal::Scheme">Scheme</a> = _</h4></section><section
id="associatedtype.Acc [...]
\ No newline at end of file
+</div><div class="impl-items"><section id="associatedconstant.SCHEME-1"
class="associatedconstant trait-impl has-srclink"><a class="srclink rightside"
href="../src/opendal/types/builder.rs.html#67">source</a><a
href="#associatedconstant.SCHEME-1" class="anchor">§</a><h4
class="code-header">const <a href="#associatedconstant.SCHEME"
class="constant">SCHEME</a>: <a class="enum" href="enum.Scheme.html"
title="enum opendal::Scheme">Scheme</a> = _</h4></section><section
id="associatedtype.Acc [...]
\ No newline at end of file
diff --git a/docs/rust/src/opendal/services/webdav/backend.rs.html
b/docs/rust/src/opendal/services/webdav/backend.rs.html
index ac717b9c..a362f6c1 100644
--- a/docs/rust/src/opendal/services/webdav/backend.rs.html
+++ b/docs/rust/src/opendal/services/webdav/backend.rs.html
@@ -571,6 +571,11 @@
<a href="#571" id="571">571</a>
<a href="#572" id="572">572</a>
<a href="#573" id="573">573</a>
+<a href="#574" id="574">574</a>
+<a href="#575" id="575">575</a>
+<a href="#576" id="576">576</a>
+<a href="#577" id="577">577</a>
+<a href="#578" id="578">578</a>
</pre><pre class="rust"><code><span class="comment">// Licensed to the Apache
Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -594,19 +599,20 @@
<span class="kw">use </span>async_trait::async_trait;
<span class="kw">use </span>bytes::Buf;
-<span class="kw">use </span>http::header;
<span class="kw">use </span>http::Request;
<span class="kw">use </span>http::Response;
<span class="kw">use </span>http::StatusCode;
+<span class="kw">use </span>http::{header, HeaderMap};
<span class="kw">use </span>log::debug;
+<span class="kw">use </span><span class="kw">crate</span>::ops::<span
class="kw-2">*</span>;
+<span class="kw">use </span><span class="kw">crate</span>::raw::<span
class="kw-2">*</span>;
+<span class="kw">use crate</span>::<span class="kw-2">*</span>;
+
<span class="kw">use </span><span class="kw">super</span>::error::parse_error;
<span class="kw">use </span><span
class="kw">super</span>::list_response::Multistatus;
<span class="kw">use </span><span class="kw">super</span>::pager::WebdavPager;
<span class="kw">use </span><span
class="kw">super</span>::writer::WebdavWriter;
-<span class="kw">use </span><span class="kw">crate</span>::ops::<span
class="kw-2">*</span>;
-<span class="kw">use </span><span class="kw">crate</span>::raw::<span
class="kw-2">*</span>;
-<span class="kw">use crate</span>::<span class="kw-2">*</span>;
<span class="doccomment">///
[WebDAV](https://datatracker.ietf.org/doc/html/rfc4918) backend support.
///
@@ -802,6 +808,7 @@
})
}
}
+
<span class="doccomment">/// Backend is used to serve `Accessor` support for
http.
</span><span class="attr">#[derive(Clone)]
</span><span class="kw">pub struct </span>WebdavBackend {
@@ -895,18 +902,39 @@
<span class="kw">return </span><span
class="prelude-val">Ok</span>(RpStat::new(Metadata::new(EntryMode::DIR)));
}
- <span class="kw">let </span>resp = <span
class="self">self</span>.webdav_head(path).<span class="kw">await</span><span
class="question-mark">?</span>;
+ <span class="kw">let </span><span class="kw-2">mut </span>header_map =
HeaderMap::new();
+ <span class="comment">// not include children
+ </span>header_map.insert(<span
class="string">"Depth"</span>, <span
class="string">"0"</span>.parse().unwrap());
+ header_map.insert(header::ACCEPT, <span
class="string">"application/xml"</span>.parse().unwrap());
+
+ <span class="kw">let </span>resp = <span
class="self">self</span>.webdav_propfind(path, <span
class="prelude-val">Some</span>(header_map)).<span class="kw">await</span><span
class="question-mark">?</span>;
<span class="kw">let </span>status = resp.status();
- <span class="kw">match </span>status {
- StatusCode::OK => parse_into_metadata(path,
resp.headers()).map(RpStat::new),
- <span class="comment">// HTTP Server like nginx could return
FORBIDDEN if auto-index
- // is not enabled, we should ignore them.
- </span>StatusCode::NOT_FOUND | StatusCode::FORBIDDEN <span
class="kw">if </span>path.ends_with(<span class="string">'/'</span>)
=> {
- <span
class="prelude-val">Ok</span>(RpStat::new(Metadata::new(EntryMode::DIR)))
+ <span class="kw">if </span>!status.is_success() {
+ <span class="kw">match </span>status {
+ <span class="comment">// HTTP Server like nginx could return
FORBIDDEN if auto-index
+ // is not enabled, we should ignore them.
+ </span>StatusCode::NOT_FOUND | StatusCode::FORBIDDEN <span
class="kw">if </span>path.ends_with(<span class="string">'/'</span>)
=> {
+ <span
class="prelude-val">Ok</span>(RpStat::new(Metadata::new(EntryMode::DIR)))
+ }
+ <span class="kw">_ </span>=> <span
class="prelude-val">Err</span>(parse_error(resp).<span
class="kw">await</span><span class="question-mark">?</span>),
}
- <span class="kw">_ </span>=> <span
class="prelude-val">Err</span>(parse_error(resp).<span
class="kw">await</span><span class="question-mark">?</span>),
+ } <span class="kw">else </span>{
+ <span class="kw">let </span>bs = resp.into_body().bytes().<span
class="kw">await</span><span class="question-mark">?</span>;
+ <span class="kw">let </span>result: Multistatus =
+
quick_xml::de::from_reader(bs.reader()).map_err(new_xml_deserialize_error)<span
class="question-mark">?</span>;
+ <span class="kw">let </span>item = result
+ .response
+ .get(<span class="number">0</span>)
+ .ok_or_else(|| {
+ Error::new(
+ ErrorKind::Unexpected,
+ <span class="string">"Failed getting item stat:
bad response"</span>,
+ )
+ })<span class="question-mark">?
+ </span>.parse_into_metadata()<span
class="question-mark">?</span>;
+ <span class="prelude-val">Ok</span>(RpStat::new(item))
}
}
@@ -922,17 +950,10 @@
}
<span class="kw">async fn </span>list(<span class="kw-2">&</span><span
class="self">self</span>, path: <span class="kw-2">&</span>str, <span
class="kw">_</span>: OpList) -> <span
class="prelude-ty">Result</span><(RpList, <span
class="self">Self</span>::Pager)> {
- <span class="comment">// XML body must start without a new line.
Otherwise, the server will panic: `xmlParseChunk() failed`
- </span><span class="kw">let </span>all_prop_xml_body = <span
class="string">r#"<?xml version="1.0"
encoding="utf-8" ?>
- <D:propfind xmlns:D="DAV:">
- <D:allprop/>
- </D:propfind>
- "#</span>;
-
- <span class="kw">let </span>async_body =
AsyncBody::Bytes(bytes::Bytes::from(all_prop_xml_body));
- <span class="kw">let </span>resp = <span class="self">self
- </span>.webdav_propfind(path, <span
class="prelude-val">None</span>, <span
class="string">"application/xml"</span>.into(), async_body)
- .<span class="kw">await</span><span class="question-mark">?</span>;
+ <span class="kw">let </span><span class="kw-2">mut </span>header_map =
HeaderMap::new();
+ header_map.insert(<span class="string">"Depth"</span>, <span
class="string">"1"</span>.parse().unwrap());
+ header_map.insert(header::CONTENT_TYPE, <span
class="string">"application/xml"</span>.parse().unwrap());
+ <span class="kw">let </span>resp = <span
class="self">self</span>.webdav_propfind(path, <span
class="prelude-val">Some</span>(header_map)).<span class="kw">await</span><span
class="question-mark">?</span>;
<span class="kw">let </span>status = resp.status();
<span class="kw">match </span>status {
@@ -1052,28 +1073,35 @@
<span class="kw">async fn </span>webdav_propfind(
<span class="kw-2">&</span><span class="self">self</span>,
path: <span class="kw-2">&</span>str,
- size: <span class="prelude-ty">Option</span><u64>,
- content_type: <span class="prelude-ty">Option</span><<span
class="kw-2">&</span>str>,
- body: AsyncBody,
+ headers: <span class="prelude-ty">Option</span><HeaderMap>,
) -> <span
class="prelude-ty">Result</span><Response<IncomingAsyncBody>> {
<span class="kw">let </span>p = build_abs_path(<span
class="kw-2">&</span><span class="self">self</span>.root, path);
<span class="kw">let </span>url = <span
class="macro">format!</span>(<span class="string">"{}/{}"</span>,
<span class="self">self</span>.endpoint, percent_encode_path(<span
class="kw-2">&</span>p));
- <span class="kw">let </span><span class="kw-2">mut </span>req =
Request::builder()
- .method(<span class="string">"PROPFIND"</span>)
- .uri(<span class="kw-2">&</span>url)
- .header(<span class="string">"Depth"</span>, <span
class="string">"1"</span>);
+ <span class="kw">let </span><span class="kw-2">mut </span>req =
Request::builder().method(<span
class="string">"PROPFIND"</span>).uri(<span
class="kw-2">&</span>url);
<span class="kw">if let </span><span
class="prelude-val">Some</span>(auth) = <span class="kw-2">&</span><span
class="self">self</span>.authorization {
req = req.header(header::AUTHORIZATION, auth);
}
- <span class="kw">if let </span><span
class="prelude-val">Some</span>(size) = size {
- req = req.header(header::CONTENT_LENGTH, size)
+ <span class="kw">if let </span><span
class="prelude-val">Some</span>(headers) = headers {
+ <span class="kw">for </span>(name, value) <span class="kw">in
</span>headers {
+ <span class="comment">// all key should be not None, otherwise
panic
+ </span>req = req.header(name.unwrap(), value);
+ }
}
- <span class="kw">if let </span><span
class="prelude-val">Some</span>(mime) = content_type {
- req = req.header(header::CONTENT_TYPE, mime)
+ <span class="comment">// rfc4918 9.1: retrieve all properties define
in specification
+ </span><span class="kw">let </span>body;
+ {
+ req = req.header(header::CONTENT_TYPE, <span
class="string">"application/xml"</span>);
+ <span class="comment">// XML body must start without a new line.
Otherwise, the server will panic: `xmlParseChunk() failed`
+ </span><span class="kw">let </span>all_prop_xml_body = <span
class="string">r#"<?xml version="1.0"
encoding="utf-8" ?>
+ <D:propfind xmlns:D="DAV:">
+ <D:allprop/>
+ </D:propfind>
+ "#</span>;
+ body = AsyncBody::Bytes(bytes::Bytes::from(all_prop_xml_body));
}
<span class="kw">let </span>req =
req.body(body).map_err(new_request_build_error)<span
class="question-mark">?</span>;
@@ -1081,24 +1109,6 @@
<span class="self">self</span>.client.send_async(req).<span
class="kw">await
</span>}
- <span class="kw">async fn </span>webdav_head(<span
class="kw-2">&</span><span class="self">self</span>, path: <span
class="kw-2">&</span>str) -> <span
class="prelude-ty">Result</span><Response<IncomingAsyncBody>> {
- <span class="kw">let </span>p = build_rooted_abs_path(<span
class="kw-2">&</span><span class="self">self</span>.root, path);
-
- <span class="kw">let </span>url = <span
class="macro">format!</span>(<span class="string">"{}{}"</span>,
<span class="self">self</span>.endpoint, percent_encode_path(<span
class="kw-2">&</span>p));
-
- <span class="kw">let </span><span class="kw-2">mut </span>req =
Request::head(<span class="kw-2">&</span>url);
-
- <span class="kw">if let </span><span
class="prelude-val">Some</span>(auth) = <span class="kw-2">&</span><span
class="self">self</span>.authorization {
- req = req.header(header::AUTHORIZATION, auth.clone())
- }
-
- <span class="kw">let </span>req = req
- .body(AsyncBody::Empty)
- .map_err(new_request_build_error)<span
class="question-mark">?</span>;
-
- <span class="self">self</span>.client.send_async(req).<span
class="kw">await
- </span>}
-
<span class="kw">async fn </span>webdav_delete(<span
class="kw-2">&</span><span class="self">self</span>, path: <span
class="kw-2">&</span>str) -> <span
class="prelude-ty">Result</span><Response<IncomingAsyncBody>> {
<span class="kw">let </span>p = build_abs_path(<span
class="kw-2">&</span><span class="self">self</span>.root, path);
diff --git a/docs/rust/src/opendal/services/webdav/list_response.rs.html
b/docs/rust/src/opendal/services/webdav/list_response.rs.html
index 6b69203c..2f40e4d1 100644
--- a/docs/rust/src/opendal/services/webdav/list_response.rs.html
+++ b/docs/rust/src/opendal/services/webdav/list_response.rs.html
@@ -430,6 +430,71 @@
<a href="#430" id="430">430</a>
<a href="#431" id="431">431</a>
<a href="#432" id="432">432</a>
+<a href="#433" id="433">433</a>
+<a href="#434" id="434">434</a>
+<a href="#435" id="435">435</a>
+<a href="#436" id="436">436</a>
+<a href="#437" id="437">437</a>
+<a href="#438" id="438">438</a>
+<a href="#439" id="439">439</a>
+<a href="#440" id="440">440</a>
+<a href="#441" id="441">441</a>
+<a href="#442" id="442">442</a>
+<a href="#443" id="443">443</a>
+<a href="#444" id="444">444</a>
+<a href="#445" id="445">445</a>
+<a href="#446" id="446">446</a>
+<a href="#447" id="447">447</a>
+<a href="#448" id="448">448</a>
+<a href="#449" id="449">449</a>
+<a href="#450" id="450">450</a>
+<a href="#451" id="451">451</a>
+<a href="#452" id="452">452</a>
+<a href="#453" id="453">453</a>
+<a href="#454" id="454">454</a>
+<a href="#455" id="455">455</a>
+<a href="#456" id="456">456</a>
+<a href="#457" id="457">457</a>
+<a href="#458" id="458">458</a>
+<a href="#459" id="459">459</a>
+<a href="#460" id="460">460</a>
+<a href="#461" id="461">461</a>
+<a href="#462" id="462">462</a>
+<a href="#463" id="463">463</a>
+<a href="#464" id="464">464</a>
+<a href="#465" id="465">465</a>
+<a href="#466" id="466">466</a>
+<a href="#467" id="467">467</a>
+<a href="#468" id="468">468</a>
+<a href="#469" id="469">469</a>
+<a href="#470" id="470">470</a>
+<a href="#471" id="471">471</a>
+<a href="#472" id="472">472</a>
+<a href="#473" id="473">473</a>
+<a href="#474" id="474">474</a>
+<a href="#475" id="475">475</a>
+<a href="#476" id="476">476</a>
+<a href="#477" id="477">477</a>
+<a href="#478" id="478">478</a>
+<a href="#479" id="479">479</a>
+<a href="#480" id="480">480</a>
+<a href="#481" id="481">481</a>
+<a href="#482" id="482">482</a>
+<a href="#483" id="483">483</a>
+<a href="#484" id="484">484</a>
+<a href="#485" id="485">485</a>
+<a href="#486" id="486">486</a>
+<a href="#487" id="487">487</a>
+<a href="#488" id="488">488</a>
+<a href="#489" id="489">489</a>
+<a href="#490" id="490">490</a>
+<a href="#491" id="491">491</a>
+<a href="#492" id="492">492</a>
+<a href="#493" id="493">493</a>
+<a href="#494" id="494">494</a>
+<a href="#495" id="495">495</a>
+<a href="#496" id="496">496</a>
+<a href="#497" id="497">497</a>
</pre><pre class="rust"><code><span class="comment">// Licensed to the Apache
Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -448,6 +513,10 @@
// under the License.
</span><span class="kw">use </span>serde::Deserialize;
+<span class="kw">use </span>time::format_description::well_known::Rfc2822;
+<span class="kw">use </span>time::OffsetDateTime;
+
+<span class="kw">use crate</span>::{EntryMode, Error, ErrorKind, Metadata,
<span class="prelude-ty">Result</span>};
<span class="attr">#[derive(Deserialize, Debug, PartialEq)]
</span><span class="kw">pub struct </span>Multistatus {
@@ -460,6 +529,58 @@
<span class="kw">pub </span>propstat: Propstat,
}
+<span class="kw">impl </span>ListOpResponse {
+ <span class="kw">pub fn </span>parse_into_metadata(<span
class="kw-2">&</span><span class="self">self</span>) -> <span
class="prelude-ty">Result</span><Metadata> {
+ <span class="kw">let </span>ListOpResponse {
+ href,
+ propstat:
+ Propstat {
+ prop:
+ Prop {
+ getlastmodified,
+ getcontentlength,
+ getcontenttype,
+ getetag,
+ ..
+ },
+ status,
+ },
+ } = <span class="self">self</span>;
+ <span class="kw">if let </span>[<span class="kw">_</span>, code, text]
= status.split(<span class="string">'
'</span>).collect::<Vec<<span class="kw">_</span>>>()[..<span
class="number">3</span>] {
+ <span class="comment">// As defined in
https://tools.ietf.org/html/rfc2068#section-6.1
+ </span><span class="kw">let </span>code =
code.parse::<u16>().unwrap();
+ <span class="kw">if </span>code >= <span class="number">400
</span>{
+ <span class="kw">return </span><span
class="prelude-val">Err</span>(Error::new(
+ ErrorKind::Unexpected,
+ <span class="kw-2">&</span><span
class="macro">format!</span>(<span class="string">"Invalid response: {}
{}"</span>, code, text),
+ ));
+ }
+ }
+
+ <span class="kw">let </span>mode = <span class="kw">if
</span>href.ends_with(<span class="string">'/'</span>) {
+ EntryMode::DIR
+ } <span class="kw">else </span>{
+ EntryMode::FILE
+ };
+ <span class="kw">let </span><span class="kw-2">mut </span>m =
Metadata::new(mode);
+
+ <span class="kw">if let </span><span
class="prelude-val">Some</span>(v) = getcontentlength {
+ m.set_content_length(v.parse::<u64>().unwrap());
+ }
+
+ <span class="kw">if let </span><span
class="prelude-val">Some</span>(v) = getcontenttype {
+ m.set_content_type(v);
+ }
+
+ <span class="kw">if let </span><span
class="prelude-val">Some</span>(v) = getetag {
+ m.set_etag(v);
+ }
+ <span class="comment">//
https://www.rfc-editor.org/rfc/rfc4918#section-14.18
+ </span>m.set_last_modified(OffsetDateTime::parse(getlastmodified,
<span class="kw-2">&</span>Rfc2822).unwrap());
+ <span class="prelude-val">Ok</span>(m)
+ }
+}
+
<span class="attr">#[derive(Deserialize, Debug, PartialEq)]
</span><span class="kw">pub struct </span>Propstat {
<span class="kw">pub </span>prop: Prop,
@@ -468,7 +589,12 @@
<span class="attr">#[derive(Deserialize, Debug, PartialEq)]
</span><span class="kw">pub struct </span>Prop {
+ <span class="attr">#[serde(default)]
+ </span><span class="kw">pub </span>displayname: String,
<span class="kw">pub </span>getlastmodified: String,
+ <span class="kw">pub </span>getetag: <span
class="prelude-ty">Option</span><String>,
+ <span class="kw">pub </span>getcontentlength: <span
class="prelude-ty">Option</span><String>,
+ <span class="kw">pub </span>getcontenttype: <span
class="prelude-ty">Option</span><String>,
<span class="kw">pub </span>resourcetype: ResourceTypeContainer,
}
@@ -544,6 +670,9 @@
<span class="kw">let </span>response =
from_str::<ListOpResponse>(xml).unwrap();
<span class="macro">assert_eq!</span>(response.href, <span
class="string">"/"</span>);
+
+ <span
class="macro">assert_eq!</span>(response.propstat.prop.displayname, <span
class="string">"/"</span>);
+
<span class="macro">assert_eq!</span>(
response.propstat.prop.getlastmodified,
<span class="string">"Tue, 01 May 2022 06:39:47 GMT"
@@ -587,6 +716,7 @@
response.propstat.prop.getlastmodified,
<span class="string">"Tue, 07 May 2022 05:52:22 GMT"
</span>);
+ <span
class="macro">assert_eq!</span>(response.propstat.prop.getcontentlength.unwrap(),
<span class="string">"1"</span>);
<span
class="macro">assert_eq!</span>(response.propstat.prop.resourcetype.value,
<span class="prelude-val">None</span>);
<span class="macro">assert_eq!</span>(response.propstat.status, <span
class="string">"HTTP/1.1 200 OK"</span>);
}
diff --git a/index.html b/index.html
index 37b46c1f..c4370c1b 100644
--- a/index.html
+++ b/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Apache OpenDAL</title><meta data-rh="true"
property="og:title" content="Apache OpenDAL"><meta data-rh="true"
name="viewport" content="width=device-width,initial-scale=1"><meta
data-rh="true" name="twitter:card" content="summary_large_image"><meta
data-rh="true" property="og:url" content="https://opendal.apache.org/"><meta
data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true"
name="docusaurus_tag" content="default"><meta data-rh="true" name="docse [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml"
title="Apache OpenDAL Atom Feed"><link rel="stylesheet"
href="/assets/css/styles.8610ae2e.css">
-<link rel="preload" href="/assets/js/runtime~main.c2825215.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.6bcfd337.js" as="script">
<link rel="preload" href="/assets/js/main.d23512d8.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function
t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var
t=null;try{t=localStorage.getItem("theme")}catch(t){}return
t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div id="docusaurus-base-url-issue-banner-container"></div><div role="region"
aria-label="Skip to main content"><a class="skipToContent_fXgn"
href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav
aria-label="Main" class="navbar navbar--fixed-top"><div
class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle
navigation bar" aria-expanded="false" class="navbar__toggle clean-btn"
type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hid [...]
-<script src="/assets/js/runtime~main.c2825215.js"></script>
+<script src="/assets/js/runtime~main.6bcfd337.js"></script>
<script src="/assets/js/main.d23512d8.js"></script>
</body>
</html>
\ No newline at end of file