Draft
Conversation
**Added Missing Operations:**
- COPY - Server-side blob copying via WebDAV COPY method
- PROPERTIES - Retrieve blob metadata (ContentLength, ETag, LastModified)
- ENSURE-STORAGE-EXISTS - Initialize WebDAV directory structure
- SIGN - Generate pre-signed URLs with HMAC-SHA256
- DELETE-RECURSIVE - Delete all blobs matching a prefix
**Structural Changes:**
- Split into two-layer architecture like other providers (S3, Azure, etc.)
- client.go: High-level DavBlobstore implementing storage.Storager interface
- storage_client.go: Low-level StorageClient handling HTTP/WebDAV operations
19fa8b5 to
a69e251
Compare
a69e251 to
93b80d1
Compare
serdarozerr
suggested changes
Mar 13, 2026
| req, err := c.createReq("GET", path, nil) | ||
| // Put uploads a file to the WebDAV server | ||
| func (d *DavBlobstore) Put(sourceFilePath string, dest string) error { | ||
| slog.Debug("Uploading file to WebDAV", "source", sourceFilePath, "dest", dest) |
Contributor
There was a problem hiding this comment.
slog.Debug should be converted to slog.Info, same applies for the other slog.Debug usages
| var httpClientBase httpclient.Client | ||
| var certPool, err = getCertPool(config) | ||
| if err != nil { | ||
| return nil, bosherr.WrapErrorf(err, "Failed to create certificate pool") |
Contributor
There was a problem hiding this comment.
instead of bosherr , better to use fmt.Errorf to be compatible in code base.
|
|
||
| resp, err := c.httpClient.Do(req) | ||
| if err != nil { | ||
| return nil, bosherr.WrapErrorf(err, "Getting dav blob %s", path) |
Contributor
There was a problem hiding this comment.
same as above , use fmt.Errorf, change all the occurrences blow too, please
| @@ -0,0 +1,277 @@ | |||
| # Testing storage-cli DAV Implementation | |||
Contributor
There was a problem hiding this comment.
this testing details can go into readme, not sure even needed, this needed only for local testing, eventually we would running against some server or something right?
e6899c3 to
230cd5a
Compare
230cd5a to
cc66878
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added Missing Operations:
Structural Changes: