Setting cors headers in Azure function










0















In my Azure function, I try to set cors headers:



var response = req.CreateResponse(HttpStatusCode.OK);
response.Content = new ObjectContent<List<RecordEntity>>(data, new JsonMediaTypeFormatter(), "application/json");

response.Headers.Add("Access-Control-Allow-Origin", "*");
response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT");
response.Headers.Add("Access-Control-Allow-Headers", "*");
response.Headers.Add("Access-Control-Allow-Credentials", "true");

return response;


However, none of these headers get to the client in the http response, they are stripped from the response.



I suppose there is some other way of setting the cors headers, but cannot find how it works.










share|improve this question






















  • There are some issues around that. Maybe this github.com/Azure/azure-functions-host/issues/620 and this can help blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…

    – Sebastian Achatz
    Nov 15 '18 at 14:45












  • I tried setting CORS in 'Storage account' in Azure portal for Table service, but still the headers is not sent to the client.

    – Martin Staufcik
    Nov 15 '18 at 15:29











  • Maybe your function is only listening to GET requests while CORS pre-flight requests come as OPTIONS requests? You can also enable CORS on the Function App itself to have it handle the OPTIONS requests.

    – juunas
    Nov 15 '18 at 15:57











  • I finally found the CORS setting under Function App -> Platform Features. What helped was to delete all allowed origins from the list (as described in the link above blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…, thanks), then finally my own cors headers were sent to the client.

    – Martin Staufcik
    Nov 15 '18 at 16:15















0















In my Azure function, I try to set cors headers:



var response = req.CreateResponse(HttpStatusCode.OK);
response.Content = new ObjectContent<List<RecordEntity>>(data, new JsonMediaTypeFormatter(), "application/json");

response.Headers.Add("Access-Control-Allow-Origin", "*");
response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT");
response.Headers.Add("Access-Control-Allow-Headers", "*");
response.Headers.Add("Access-Control-Allow-Credentials", "true");

return response;


However, none of these headers get to the client in the http response, they are stripped from the response.



I suppose there is some other way of setting the cors headers, but cannot find how it works.










share|improve this question






















  • There are some issues around that. Maybe this github.com/Azure/azure-functions-host/issues/620 and this can help blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…

    – Sebastian Achatz
    Nov 15 '18 at 14:45












  • I tried setting CORS in 'Storage account' in Azure portal for Table service, but still the headers is not sent to the client.

    – Martin Staufcik
    Nov 15 '18 at 15:29











  • Maybe your function is only listening to GET requests while CORS pre-flight requests come as OPTIONS requests? You can also enable CORS on the Function App itself to have it handle the OPTIONS requests.

    – juunas
    Nov 15 '18 at 15:57











  • I finally found the CORS setting under Function App -> Platform Features. What helped was to delete all allowed origins from the list (as described in the link above blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…, thanks), then finally my own cors headers were sent to the client.

    – Martin Staufcik
    Nov 15 '18 at 16:15













0












0








0








In my Azure function, I try to set cors headers:



var response = req.CreateResponse(HttpStatusCode.OK);
response.Content = new ObjectContent<List<RecordEntity>>(data, new JsonMediaTypeFormatter(), "application/json");

response.Headers.Add("Access-Control-Allow-Origin", "*");
response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT");
response.Headers.Add("Access-Control-Allow-Headers", "*");
response.Headers.Add("Access-Control-Allow-Credentials", "true");

return response;


However, none of these headers get to the client in the http response, they are stripped from the response.



I suppose there is some other way of setting the cors headers, but cannot find how it works.










share|improve this question














In my Azure function, I try to set cors headers:



var response = req.CreateResponse(HttpStatusCode.OK);
response.Content = new ObjectContent<List<RecordEntity>>(data, new JsonMediaTypeFormatter(), "application/json");

response.Headers.Add("Access-Control-Allow-Origin", "*");
response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT");
response.Headers.Add("Access-Control-Allow-Headers", "*");
response.Headers.Add("Access-Control-Allow-Credentials", "true");

return response;


However, none of these headers get to the client in the http response, they are stripped from the response.



I suppose there is some other way of setting the cors headers, but cannot find how it works.







azure azure-functions






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 15 '18 at 14:41









Martin StaufcikMartin Staufcik

2,05311626




2,05311626












  • There are some issues around that. Maybe this github.com/Azure/azure-functions-host/issues/620 and this can help blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…

    – Sebastian Achatz
    Nov 15 '18 at 14:45












  • I tried setting CORS in 'Storage account' in Azure portal for Table service, but still the headers is not sent to the client.

    – Martin Staufcik
    Nov 15 '18 at 15:29











  • Maybe your function is only listening to GET requests while CORS pre-flight requests come as OPTIONS requests? You can also enable CORS on the Function App itself to have it handle the OPTIONS requests.

    – juunas
    Nov 15 '18 at 15:57











  • I finally found the CORS setting under Function App -> Platform Features. What helped was to delete all allowed origins from the list (as described in the link above blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…, thanks), then finally my own cors headers were sent to the client.

    – Martin Staufcik
    Nov 15 '18 at 16:15

















  • There are some issues around that. Maybe this github.com/Azure/azure-functions-host/issues/620 and this can help blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…

    – Sebastian Achatz
    Nov 15 '18 at 14:45












  • I tried setting CORS in 'Storage account' in Azure portal for Table service, but still the headers is not sent to the client.

    – Martin Staufcik
    Nov 15 '18 at 15:29











  • Maybe your function is only listening to GET requests while CORS pre-flight requests come as OPTIONS requests? You can also enable CORS on the Function App itself to have it handle the OPTIONS requests.

    – juunas
    Nov 15 '18 at 15:57











  • I finally found the CORS setting under Function App -> Platform Features. What helped was to delete all allowed origins from the list (as described in the link above blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…, thanks), then finally my own cors headers were sent to the client.

    – Martin Staufcik
    Nov 15 '18 at 16:15
















There are some issues around that. Maybe this github.com/Azure/azure-functions-host/issues/620 and this can help blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…

– Sebastian Achatz
Nov 15 '18 at 14:45






There are some issues around that. Maybe this github.com/Azure/azure-functions-host/issues/620 and this can help blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…

– Sebastian Achatz
Nov 15 '18 at 14:45














I tried setting CORS in 'Storage account' in Azure portal for Table service, but still the headers is not sent to the client.

– Martin Staufcik
Nov 15 '18 at 15:29





I tried setting CORS in 'Storage account' in Azure portal for Table service, but still the headers is not sent to the client.

– Martin Staufcik
Nov 15 '18 at 15:29













Maybe your function is only listening to GET requests while CORS pre-flight requests come as OPTIONS requests? You can also enable CORS on the Function App itself to have it handle the OPTIONS requests.

– juunas
Nov 15 '18 at 15:57





Maybe your function is only listening to GET requests while CORS pre-flight requests come as OPTIONS requests? You can also enable CORS on the Function App itself to have it handle the OPTIONS requests.

– juunas
Nov 15 '18 at 15:57













I finally found the CORS setting under Function App -> Platform Features. What helped was to delete all allowed origins from the list (as described in the link above blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…, thanks), then finally my own cors headers were sent to the client.

– Martin Staufcik
Nov 15 '18 at 16:15





I finally found the CORS setting under Function App -> Platform Features. What helped was to delete all allowed origins from the list (as described in the link above blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/…, thanks), then finally my own cors headers were sent to the client.

– Martin Staufcik
Nov 15 '18 at 16:15












1 Answer
1






active

oldest

votes


















0














The CORS setting in the Azure portal is under Function App -> Platform Features.



What helped was to delete all Allowed origins from the list (as described in the link https://blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/azure-functions-access-control-allow-credentials-with-cors/).



When the list of Allowed origins is empty, then finally the manually set cors headers are sent from Azure function in the http response to the client and are not stripped.






share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53321897%2fsetting-cors-headers-in-azure-function%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    The CORS setting in the Azure portal is under Function App -> Platform Features.



    What helped was to delete all Allowed origins from the list (as described in the link https://blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/azure-functions-access-control-allow-credentials-with-cors/).



    When the list of Allowed origins is empty, then finally the manually set cors headers are sent from Azure function in the http response to the client and are not stripped.






    share|improve this answer





























      0














      The CORS setting in the Azure portal is under Function App -> Platform Features.



      What helped was to delete all Allowed origins from the list (as described in the link https://blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/azure-functions-access-control-allow-credentials-with-cors/).



      When the list of Allowed origins is empty, then finally the manually set cors headers are sent from Azure function in the http response to the client and are not stripped.






      share|improve this answer



























        0












        0








        0







        The CORS setting in the Azure portal is under Function App -> Platform Features.



        What helped was to delete all Allowed origins from the list (as described in the link https://blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/azure-functions-access-control-allow-credentials-with-cors/).



        When the list of Allowed origins is empty, then finally the manually set cors headers are sent from Azure function in the http response to the client and are not stripped.






        share|improve this answer















        The CORS setting in the Azure portal is under Function App -> Platform Features.



        What helped was to delete all Allowed origins from the list (as described in the link https://blogs.msdn.microsoft.com/benjaminperkins/2017/04/12/azure-functions-access-control-allow-credentials-with-cors/).



        When the list of Allowed origins is empty, then finally the manually set cors headers are sent from Azure function in the http response to the client and are not stripped.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 16 '18 at 10:54

























        answered Nov 16 '18 at 8:36









        Martin StaufcikMartin Staufcik

        2,05311626




        2,05311626





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53321897%2fsetting-cors-headers-in-azure-function%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            這個網誌中的熱門文章

            How to read a connectionString WITH PROVIDER in .NET Core?

            Node.js Script on GitHub Pages or Amazon S3

            Museum of Modern and Contemporary Art of Trento and Rovereto