-
Notifications
You must be signed in to change notification settings - Fork 4
Zc/webdav first pass #80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…o zc/docker-first-pass
|
I've had more and more trouble with the TestAuth and am starting to lean in favor of discarding it as Etna::Auth gets more complicated. I'm not sure exactly what pain the TestAuth is meant to solve at this point, and dancing around it is getting difficult. See my discussion of the difficulty making specs for metis_client in #68. |
|
Hmm I see you are just reading the fake token right now - I might try replacing Etna::TestAuth with Etna::Auth in your tests (or even all tests). I think if you set a public/private key pair in the test config you can create a signed token with Metis.instance.sign and validate it with the same without too much trouble. If this works easily we can just replicate it elsewhere and ditch Etna::TestAuth. You've inserted this before the Auth layer - would it be possible to insert it after the Auth layer and use the results of that operation in |
|
Regarding PUT: I assume this will require posting the entire file in a single operation. If so, what sort of integrity checking are we doing? Or do we lose the opportunity to do so during this operation? |
|
|
||
| ## Organization | ||
|
|
||
| ### Projects |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be helpful (maybe here or somewhere else?), to include instructions on how to set up a WebDAV client to talk to Metis? Also examples of a client or recommendations for one? If this isn't the right spot for that, maybe the mountenta.github.io documentation site.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah. I'm actively trying to determine which clients work best. I'm kind of not impressed by, all of them at the moment :P
Yes, although I need to make changes to Etna gem directly, which is kind of why I was putting this off. I'll swap things around when I have the PR mature. My plan is to get the implementation stable and tested, then make the changes in Etna to support this approach. |
In theory some clients might provide checksums, or can be configured to do so. Some more testing will be necessary to see. |
Built on top of #80
After that gets merged, the diff here shrinks.
What works: GET PROPFIND MOVE COPY DELETE PUT
Note; currently the default test environment doesn't include a private key to actual sign jwt tokens in the tests. It looks like you work around that by introducing a TestAuth middleware in place of normal Auth middleware. I'll need to backport some of the auth stuff into the etna gem and follow a similar pattern there, but for now I've commented out the parts.