<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go-schwift/tests/object_test.go, branch v1.3.0</title>
<subtitle>Go client library for Swift (OpenStack object storage) aka Rackspace Cloud Files aka Memset Memstore
</subtitle>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/'/>
<entry>
<title>add Method, Target to type UnexpectedStatusCodeError</title>
<updated>2023-10-23T11:02:10+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>stefan.majewsky@sap.com</email>
</author>
<published>2023-10-23T11:01:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=1ef60b5cd32e8470806dad1c559c4953916fe6fd'/>
<id>1ef60b5cd32e8470806dad1c559c4953916fe6fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix linting errors</title>
<updated>2022-10-28T10:55:16+00:00</updated>
<author>
<name>Sandro Jäckel</name>
<email>sandro.jaeckel@sap.com</email>
</author>
<published>2022-10-26T13:23:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=8b38a040830109f19550e7329b82ec5caf76b321'/>
<id>8b38a040830109f19550e7329b82ec5caf76b321</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>rename Object.UploadWithWriter to UploadFromWriter</title>
<updated>2021-05-28T11:59:38+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>stefan.majewsky@sap.com</email>
</author>
<published>2021-05-28T11:59:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=f5332c147be25b138294151b3dd57ec4e0f28e26'/>
<id>f5332c147be25b138294151b3dd57ec4e0f28e26</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>adjust semantics of Object.InspectSymlink, rename to Object.SymlinkHeaders</title>
<updated>2018-05-30T09:38:52+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2018-05-30T09:38:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=bb7eb0faacb77436a492d4b9b9775f2771a546d7'/>
<id>bb7eb0faacb77436a492d4b9b9775f2771a546d7</id>
<content type='text'>
The additional guarantee that Object.SymlinkHeaders becomes equivalent
to Object.Headers for non-symlinks will be useful e.g. for
swift-http-import's usecase.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The additional guarantee that Object.SymlinkHeaders becomes equivalent
to Object.Headers for non-symlinks will be useful e.g. for
swift-http-import's usecase.
</pre>
</div>
</content>
</entry>
<entry>
<title>add Object.SymlinkTo(), Object.InspectSymlink() etc.</title>
<updated>2018-05-07T11:42:12+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2018-05-07T11:42:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=17e9003342f79313d4b919818db6f69964d102db'/>
<id>17e9003342f79313d4b919818db6f69964d102db</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix CopyTo test</title>
<updated>2018-05-03T13:14:01+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2018-05-03T13:14:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=af4e8d74bfe7afd4ad65eea9d6385ca969428ed6'/>
<id>af4e8d74bfe7afd4ad65eea9d6385ca969428ed6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>remove Object.MoveTo</title>
<updated>2018-05-02T20:20:54+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2018-05-02T20:20:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=714ac4546a1378fec6fbec94096c6ec315214081'/>
<id>714ac4546a1378fec6fbec94096c6ec315214081</id>
<content type='text'>
It's trivially replicable by clients, and has an ugly API that I don't
want to commit on at this point.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's trivially replicable by clients, and has an ugly API that I don't
want to commit on at this point.
</pre>
</div>
</content>
</entry>
<entry>
<title>revamp the LargeObject API</title>
<updated>2018-05-02T17:33:46+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2018-04-30T12:14:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=f9749638e3393f471d7e28362795689bf37cc023'/>
<id>f9749638e3393f471d7e28362795689bf37cc023</id>
<content type='text'>
I thought about this some more, and I believe the Writer-based approach
in the previous version of the LargeObject API does not scale: It makes
it very hard to write code that uploads segments without resorting to a
buffer the same size as the segments. I don't want gigabyte-scale
buffers filling up my RAM, so this commit switches to a different API
based on Readers. LargeObject.Append() now behaves very similar to
Object.Upload(), which I find quite nice.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I thought about this some more, and I believe the Writer-based approach
in the previous version of the LargeObject API does not scale: It makes
it very hard to write code that uploads segments without resorting to a
buffer the same size as the segments. I don't want gigabyte-scale
buffers filling up my RAM, so this commit switches to a different API
based on Readers. LargeObject.Append() now behaves very similar to
Object.Upload(), which I find quite nice.
</pre>
</div>
</content>
</entry>
<entry>
<title>add DeleteOptions to Object.Delete()</title>
<updated>2018-04-30T11:47:38+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2018-04-30T11:47:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=b698287d0655420713bf6edfbc8de53da7c5a236'/>
<id>b698287d0655420713bf6edfbc8de53da7c5a236</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>initial support for large objects</title>
<updated>2018-04-30T08:04:36+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2018-04-29T19:19:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-schwift/commit/?id=0df55a731aa3330f82d22b010a7a2a4d66521972'/>
<id>0df55a731aa3330f82d22b010a7a2a4d66521972</id>
<content type='text'>
This has gone through a lot of iterations on my branch, and I'm quite
happy with the parts of the API that exist now. Test coverage can still
be better, and will get better in the following commits.

The API is not yet finished: I want to add Options arguments to
Object.Upload(), Object.Copy(), Object.Move() and Object.Delete() that
specify how each of these operations affect existing segments (and,
later, also existing symlinks). For Upload(), uploading in segments
shall become as easy as flipping a single switch.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This has gone through a lot of iterations on my branch, and I'm quite
happy with the parts of the API that exist now. Test coverage can still
be better, and will get better in the following commits.

The API is not yet finished: I want to add Options arguments to
Object.Upload(), Object.Copy(), Object.Move() and Object.Delete() that
specify how each of these operations affect existing segments (and,
later, also existing symlinks). For Upload(), uploading in segments
shall become as easy as flipping a single switch.
</pre>
</div>
</content>
</entry>
</feed>
