parity(storage): implement SetHeader method on storage client [from supabase-js]

Open
#232 0 comments 0 reactions 2 assignees View on GitHub

@Tr00d is already working on this.

Since Jul 1, 2026.

Assessment

This issue has not been assessed yet.

Description

feature parity

SDK Parity: C# implementation needed

A change was made in supabase-js that needs to be implemented in this repository for SDK parity.

Reference Implementation (supabase-js)

  • Commit: b1beee6
  • PR: #2079
  • Module: storage
  • Type: new-feature
What Changed

A new public setHeader(name, value) method was added to BaseApiClient in storage-js. This allows setting per-request HTTP headers on storage operations.

Code Reference
public setHeader(name: string, value: string): this {
  this.headers = { ...this.headers, [name]: value }
  return this
}

Implementation Guidance

Expected API Surface (C#)
public StorageFileApi SetHeader(string name, string value)
{
    var newHeaders = new Dictionary<string, string>(Headers) { [name] = value };
    Headers = newHeaders;
    return this;
}
Key Behaviors to Match
  • Creates a copy of headers to avoid mutating shared state
  • Returns this for method chaining
  • PascalCase naming per C# conventions

Acceptance Criteria

  • SetHeader(name, value) method implemented on storage client
  • Headers are copied (not mutated) when setting
  • Method chaining supported
  • Unit tests cover happy path and edge cases
  • Documentation updated

Context

  • supabase-js version: v2.95.3
  • Parity tracking: This issue was auto-generated by SDK parity analysis
  • Related parity issues: SDK-691 (dart), SDK-692 (py), SDK-693 (swift)

Generated with Claude Code /sync-sdk-parity

Dominant language
C#
Stars
701
Forks
106
Avg merge
16h 35m
Merged PRs (30d)
45

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from supabase/supabase-csharp

All issues in supabase/supabase-csharp

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.