<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:40:01 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[GODRIVER-3079] Implement io.ReadSeeker for the DownloadStream</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-3079</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;h3&gt;&lt;a name=&quot;Context&quot;&gt;&lt;/a&gt;&lt;b&gt;Context&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;As the client, I should have the flexibility of choosing to stream a file in it&apos;s entirety or in parts, such as using a Range Request&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#505f79&quot;&gt;Here is the current &lt;a href=&quot;https://pkg.go.dev/go.mongodb.org/mongo-driver@v1.13.0/mongo/gridfs#DownloadStream.Skip&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;definition of the DownloadStream&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;font color=&quot;#505f79&quot;&gt;func (ds *DownloadStream) Skip(skip int64) (int64, error)&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;font color=&quot;#505f79&quot;&gt;Whereas the &lt;/font&gt;&lt;a href=&quot;https://pkg.go.dev/net/http#ServeContent&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http.ServeContent function&lt;/a&gt;&lt;font color=&quot;#505f79&quot;&gt; requires a an `io.ReadSeeker`. From the docs, it seem this is the recommended function to use over `io.Copy` as it:&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;font color=&quot;#505f79&quot;&gt;handles Range requests properly, sets the MIME type, and handles If-Match, If-Unmodified-Since, If-None-Match, If-Modified-Since, and If-Range requests.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;By extending the type to implement the `ReadSeeker` interface, this creates greater consistency with the stdlib&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;Definitionofdone&quot;&gt;&lt;/a&gt;&lt;b&gt;Definition of done&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;&lt;font color=&quot;#505f79&quot;&gt;Include a method for seeking. This seems to &lt;a href=&quot;https://github.com/minio/minio-go/blob/master/api-get-object.go#L516&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;exists in s3 compatible drivers&lt;/a&gt; already and &#160;&lt;a href=&quot;https://github.com/go-mgo/mgo/blob/v2-unstable/gridfs.go#L658&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this older unofficial MongoDB driver&lt;/a&gt; seemed to also implement this. The official driver also already seems to tackle the SeekStart/SeekCurrent with how Skip is implemented.&lt;/font&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;Pitfalls&quot;&gt;&lt;/a&gt;&lt;b&gt;Pitfalls&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;&lt;font color=&quot;#505f79&quot;&gt;What should the implementer watch out for? What are the risks?&lt;/font&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="2532491">GODRIVER-3079</key>
            <summary>Implement io.ReadSeeker for the DownloadStream</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="kristopherab@gmail.com">Kristopher Rahim Afful-Brown</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Dec 2023 12:00:42 +0000</created>
                <updated>Mon, 8 Jan 2024 20:57:15 +0000</updated>
                                                            <fixVersion>2.1.0</fixVersion>
                                    <component>GridFS</component>
                    <component>Networking</component>
                    <component>Performance</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5970296" author="dbeng-pm-bot" created="Tue, 26 Dec 2023 12:00:45 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kristopherab%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;kristopherab@gmail.com&quot;&gt;kristopherab@gmail.com&lt;/a&gt;, thank you for reporting this issue! The team will look into it and get back to you soon. &lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                        <customfield id="customfield_23812" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Assigned Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26446"><![CDATA[Go Drivers]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i2nolo:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>