microsoft / microsoft/typespec

adding string to end of union used for content-type header results in error

Open
#2,853 10 comments 0 reactions 0 assignees View on GitHub
design:needed lib:http triaged:core
Dominant language
Java
Stars
5.9k
Forks
394
Avg merge
1d 23h
Merged PRs (30d)
104

Description

Link to repro in playground [[here](https://azure.github.io/typespec-azure/playground?c=aW1wb3J0ICJAdHlwZXNwZWMvaHR0cCI7CtIZcmVzdNUZdmVyc2lvbmluZ8wfYXp1cmUtdG9vbHMvyCstxhVjb3JlIjsKCnVzaW5nIFR5cGVTcGVjLkh0dHA70BVSZXN00RVWyXLIG0HEWS5Db3Jl0hIuVHJhaXRzOwoKQHVzZUF1dGgoCiAgQXBpS2V5xA48xgtMb2NhdGlvbi5oZWFkZXIsICJhcGkta2V5Ij4gfCBPxCoyxS9bCiAgICB7xQYgIOQA3DrHH0Zsb3fkAKUuaW1wbGljaXQsxyVhdXRob3JpesVhVXJsOiAi5AFoczovL2xvZ2luLmNvbnRvc28uY29tL2NvbW1vbi9vxDUyL3YyLjAvyEBlIshSc2NvcGVzOiBbyUl3aWRnZXTNSi5kZWZhdWx0Il3GN30KICBdPgopCkBzZXJ2aWNlKOQAxnRpdGxlOiAi5QEyIFNjaGVtYSBSZWdpc3RyeSIsCn3HMGVy5AE4IntlbmRwb2ludH3lAI0izzEgyB%2FFHsRgIMkTOiBzdHJpbmfEGn3kAIfnAjtlZChT5gCRQXBp5wHdcykKbmFtZXNwYWPoAJXEY3RyeeQByWRvYygiUmVwcmVzZW50cyB0aPEAuiBBUEkgx2EgdG8gdXNlIGZvciByZXF1ZXN0cy4iKQplbnVtINJ75QC35AItRGVwZW5kZW5jeSjrAlDIJy52MV8wX1ByZXZpZXdfMinENeUAmfUBSiAyMDIxLTEwIMc%2FIsQwVsQVXzEwOiAixx8iLArffd992X0y1H0yyX3EH999333cfTMtMDctMDHoAIAuIFRoaXMgaeYBuucCp%2BgBruQBmuYAnjNfMDdfMDHmAKHHQ%2BQCkgoKLy8gTW9kZWxzIC%2FTAQoKdW7kAffmAIlDb250ZW505AOaVmFsdWXnAeBhZGT1Anku6AEY5ACGY3VzdG9tQmluYXJ5OuQEE%2BQD2eUDxy9vY3RldC1zdHJlYW3nATnfU8xTOiAidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOMZOYXZyb89zanNvbjsgc2VyaWFs5wROPUF2cm%2Fff81%2FxETfV8RXSnNvbt9XxVfnAaPEWnByb3RvYnVm6ADbdm5kLm1zLsgXxk7oBAJ96APGVGhlIOQEtWVudOUFTeUDpWdpdmVuIHPlAb8uIEVhY2jHDcYjaGFzIGFuIGFzc29jaWF0ZWTIQi3EH%2BQCQG3kAh3yAgDmAfrfeMh45QKHQOYGDygix0YtxEfFGsc9xBA60mrmAmo76gDoxxwgb2blAvTKZPMAq%2BYAp2JvZHnpAK9T5QE4IHLoBPTlAaYgKFVURi04KdJV6QCfOiBieXTtAIlI5QDRc%2BUA8G1ldGFkYXRhxEFh9wCUyDDqATtVUkwgbOcHL8Q6xjgsIGlkZW50aWZpZWQgYnnHFiBncm91cCzIDuQF1CwgYW5k7gPt6QFm6AeGxRbIZOgGODvlAo%2FnBfxmZXJlbmNlcyDkCFppZmljyGNpbiBy6AR66QZDz2fmANotSWTFF8Y5SWTTaP8A6%2B4A60lE2Gct7QDYyHDIFf8A4OsBSNZgR8QbLU5hbeYCmcYxxRXEFN9e6gGY1l3PV9dS5wQU6AKJcmV0dXJuZWT2A0vHWuwGjMYoxxI6IGludDMy6wK0T2JqZWN0IHJlY2VpdmVkIGZyb23HaecB6uQC72Fp5AoUx0zqAaNy5QfsQHJlc291cmNlKCIk6wEicy%2FHDnPvAvdJZOYC8mtleSgiaeYCKecDi8ZgSUQgdGhhdCB1bmlxdWVsecpxc%2BkDTOQCje0Ap%2FACkXZpc2liaWxpdHkoInJlYcZnaesCiuYG7E9wZXLlAiv4BvBpbnRlcmbqCSzLMeUAxnJvdXRlKCLoAO3vAPsve2lkfcV7QGdldAogIGdldMZIQnlJZOQHp%2BsIBUZvdW5kxlwuyWc85Qnp1yZJdGVtS2V5c09mPMZWSWQ%2B5gqST2tSZXNwb25zZSAm7wRvyBDoBRPPEOQFZAogID7kASI%3D&e=%40azure-tools%2Ftypespec-autorest&options=%7B%7D)].

In SchemaRegistry, we want to the content type header to be a union of values. This does not compile when `string` is added to the end of the union, and fails with:
```
contentType parameter must be a string literal or union of string literals
```

It works when `string;` on line 66 of the playground link above is removed. However, it should work when string is added to the end. It also works when the header is renamed to something else, so it seems to be a bug with using the `"Content-Type"` header specifically.

May be related to #2727

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.