How to make the AWS API Gateway request path case insensitive











up vote
0
down vote

favorite












It seems that the request path setup in AWS API gateway is case sensitive.
Can anyone suggest any solution to make the request path to be case insensitive



For example:
https://api-gw.some-domain/health is accessible whereas
https://api-gw.some-domain/Health is not accessible. (404)










share|improve this question




























    up vote
    0
    down vote

    favorite












    It seems that the request path setup in AWS API gateway is case sensitive.
    Can anyone suggest any solution to make the request path to be case insensitive



    For example:
    https://api-gw.some-domain/health is accessible whereas
    https://api-gw.some-domain/Health is not accessible. (404)










    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      It seems that the request path setup in AWS API gateway is case sensitive.
      Can anyone suggest any solution to make the request path to be case insensitive



      For example:
      https://api-gw.some-domain/health is accessible whereas
      https://api-gw.some-domain/Health is not accessible. (404)










      share|improve this question















      It seems that the request path setup in AWS API gateway is case sensitive.
      Can anyone suggest any solution to make the request path to be case insensitive



      For example:
      https://api-gw.some-domain/health is accessible whereas
      https://api-gw.some-domain/Health is not accessible. (404)







      aws-api-gateway






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 9 at 12:19

























      asked Nov 9 at 12:13









      Shaheer

      83




      83
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          Unfortunately API Gateway, like most of AWS' offerings, is case-sensitive by design.



          You therefore have two options:




          • Use CloudFront with Lambda@Edge to re-write your requests (this is quite involved, but a good tutorial can be found here: https://linuxacademy.com/howtoguides/posts/show/topic/19955-url-rewriting-in-aws-cloudfront)


          • Use BasePath mapping and a Proxy Resource so that you can have a single lambda that receives all requests and then dispatches/responds accordingy.



          I would recommend the CloudFront approach, as its cheaper and easier to maintain. However for a small API you might be tempted to go for the second, especially if you can host the whole API in a single lambda.



          n.b. The internet is case-sensitive (and mostly it's lowercase), for example: http://www.bbc.co.uk/news/world-europe-12083491 vs http://www.bbc.co.uk/news/world-Europe-12083491






          share|improve this answer





















          • thank you for the response. In our setup, the API gateway is already edge optimized with custom domain and cloudfront distribution. So we should create a regional API in this case? Do you have any cloud formation example for the cloudfront with API gateway as origin. Regards, Shaheer
            – Shaheer
            Nov 10 at 20:26












          • Hi @thomasmichaelwallace, I setup the CloudFront and Lambda Edge on top of API gateway (regional) and its working basically, and the performance is also excellent.
            – Shaheer
            Nov 12 at 15:25










          • Great- if you're all set-up you can mark the answer as the solution so that the next person can find it easily :)
            – thomasmichaelwallace
            Nov 12 at 15:36










          • done and thank you
            – Shaheer
            Nov 12 at 16:46













          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',
          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%2f53225519%2fhow-to-make-the-aws-api-gateway-request-path-case-insensitive%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








          up vote
          0
          down vote



          accepted










          Unfortunately API Gateway, like most of AWS' offerings, is case-sensitive by design.



          You therefore have two options:




          • Use CloudFront with Lambda@Edge to re-write your requests (this is quite involved, but a good tutorial can be found here: https://linuxacademy.com/howtoguides/posts/show/topic/19955-url-rewriting-in-aws-cloudfront)


          • Use BasePath mapping and a Proxy Resource so that you can have a single lambda that receives all requests and then dispatches/responds accordingy.



          I would recommend the CloudFront approach, as its cheaper and easier to maintain. However for a small API you might be tempted to go for the second, especially if you can host the whole API in a single lambda.



          n.b. The internet is case-sensitive (and mostly it's lowercase), for example: http://www.bbc.co.uk/news/world-europe-12083491 vs http://www.bbc.co.uk/news/world-Europe-12083491






          share|improve this answer





















          • thank you for the response. In our setup, the API gateway is already edge optimized with custom domain and cloudfront distribution. So we should create a regional API in this case? Do you have any cloud formation example for the cloudfront with API gateway as origin. Regards, Shaheer
            – Shaheer
            Nov 10 at 20:26












          • Hi @thomasmichaelwallace, I setup the CloudFront and Lambda Edge on top of API gateway (regional) and its working basically, and the performance is also excellent.
            – Shaheer
            Nov 12 at 15:25










          • Great- if you're all set-up you can mark the answer as the solution so that the next person can find it easily :)
            – thomasmichaelwallace
            Nov 12 at 15:36










          • done and thank you
            – Shaheer
            Nov 12 at 16:46

















          up vote
          0
          down vote



          accepted










          Unfortunately API Gateway, like most of AWS' offerings, is case-sensitive by design.



          You therefore have two options:




          • Use CloudFront with Lambda@Edge to re-write your requests (this is quite involved, but a good tutorial can be found here: https://linuxacademy.com/howtoguides/posts/show/topic/19955-url-rewriting-in-aws-cloudfront)


          • Use BasePath mapping and a Proxy Resource so that you can have a single lambda that receives all requests and then dispatches/responds accordingy.



          I would recommend the CloudFront approach, as its cheaper and easier to maintain. However for a small API you might be tempted to go for the second, especially if you can host the whole API in a single lambda.



          n.b. The internet is case-sensitive (and mostly it's lowercase), for example: http://www.bbc.co.uk/news/world-europe-12083491 vs http://www.bbc.co.uk/news/world-Europe-12083491






          share|improve this answer





















          • thank you for the response. In our setup, the API gateway is already edge optimized with custom domain and cloudfront distribution. So we should create a regional API in this case? Do you have any cloud formation example for the cloudfront with API gateway as origin. Regards, Shaheer
            – Shaheer
            Nov 10 at 20:26












          • Hi @thomasmichaelwallace, I setup the CloudFront and Lambda Edge on top of API gateway (regional) and its working basically, and the performance is also excellent.
            – Shaheer
            Nov 12 at 15:25










          • Great- if you're all set-up you can mark the answer as the solution so that the next person can find it easily :)
            – thomasmichaelwallace
            Nov 12 at 15:36










          • done and thank you
            – Shaheer
            Nov 12 at 16:46















          up vote
          0
          down vote



          accepted







          up vote
          0
          down vote



          accepted






          Unfortunately API Gateway, like most of AWS' offerings, is case-sensitive by design.



          You therefore have two options:




          • Use CloudFront with Lambda@Edge to re-write your requests (this is quite involved, but a good tutorial can be found here: https://linuxacademy.com/howtoguides/posts/show/topic/19955-url-rewriting-in-aws-cloudfront)


          • Use BasePath mapping and a Proxy Resource so that you can have a single lambda that receives all requests and then dispatches/responds accordingy.



          I would recommend the CloudFront approach, as its cheaper and easier to maintain. However for a small API you might be tempted to go for the second, especially if you can host the whole API in a single lambda.



          n.b. The internet is case-sensitive (and mostly it's lowercase), for example: http://www.bbc.co.uk/news/world-europe-12083491 vs http://www.bbc.co.uk/news/world-Europe-12083491






          share|improve this answer












          Unfortunately API Gateway, like most of AWS' offerings, is case-sensitive by design.



          You therefore have two options:




          • Use CloudFront with Lambda@Edge to re-write your requests (this is quite involved, but a good tutorial can be found here: https://linuxacademy.com/howtoguides/posts/show/topic/19955-url-rewriting-in-aws-cloudfront)


          • Use BasePath mapping and a Proxy Resource so that you can have a single lambda that receives all requests and then dispatches/responds accordingy.



          I would recommend the CloudFront approach, as its cheaper and easier to maintain. However for a small API you might be tempted to go for the second, especially if you can host the whole API in a single lambda.



          n.b. The internet is case-sensitive (and mostly it's lowercase), for example: http://www.bbc.co.uk/news/world-europe-12083491 vs http://www.bbc.co.uk/news/world-Europe-12083491







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 9 at 15:16









          thomasmichaelwallace

          2,5001817




          2,5001817












          • thank you for the response. In our setup, the API gateway is already edge optimized with custom domain and cloudfront distribution. So we should create a regional API in this case? Do you have any cloud formation example for the cloudfront with API gateway as origin. Regards, Shaheer
            – Shaheer
            Nov 10 at 20:26












          • Hi @thomasmichaelwallace, I setup the CloudFront and Lambda Edge on top of API gateway (regional) and its working basically, and the performance is also excellent.
            – Shaheer
            Nov 12 at 15:25










          • Great- if you're all set-up you can mark the answer as the solution so that the next person can find it easily :)
            – thomasmichaelwallace
            Nov 12 at 15:36










          • done and thank you
            – Shaheer
            Nov 12 at 16:46




















          • thank you for the response. In our setup, the API gateway is already edge optimized with custom domain and cloudfront distribution. So we should create a regional API in this case? Do you have any cloud formation example for the cloudfront with API gateway as origin. Regards, Shaheer
            – Shaheer
            Nov 10 at 20:26












          • Hi @thomasmichaelwallace, I setup the CloudFront and Lambda Edge on top of API gateway (regional) and its working basically, and the performance is also excellent.
            – Shaheer
            Nov 12 at 15:25










          • Great- if you're all set-up you can mark the answer as the solution so that the next person can find it easily :)
            – thomasmichaelwallace
            Nov 12 at 15:36










          • done and thank you
            – Shaheer
            Nov 12 at 16:46


















          thank you for the response. In our setup, the API gateway is already edge optimized with custom domain and cloudfront distribution. So we should create a regional API in this case? Do you have any cloud formation example for the cloudfront with API gateway as origin. Regards, Shaheer
          – Shaheer
          Nov 10 at 20:26






          thank you for the response. In our setup, the API gateway is already edge optimized with custom domain and cloudfront distribution. So we should create a regional API in this case? Do you have any cloud formation example for the cloudfront with API gateway as origin. Regards, Shaheer
          – Shaheer
          Nov 10 at 20:26














          Hi @thomasmichaelwallace, I setup the CloudFront and Lambda Edge on top of API gateway (regional) and its working basically, and the performance is also excellent.
          – Shaheer
          Nov 12 at 15:25




          Hi @thomasmichaelwallace, I setup the CloudFront and Lambda Edge on top of API gateway (regional) and its working basically, and the performance is also excellent.
          – Shaheer
          Nov 12 at 15:25












          Great- if you're all set-up you can mark the answer as the solution so that the next person can find it easily :)
          – thomasmichaelwallace
          Nov 12 at 15:36




          Great- if you're all set-up you can mark the answer as the solution so that the next person can find it easily :)
          – thomasmichaelwallace
          Nov 12 at 15:36












          done and thank you
          – Shaheer
          Nov 12 at 16:46






          done and thank you
          – Shaheer
          Nov 12 at 16:46




















          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.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • 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%2f53225519%2fhow-to-make-the-aws-api-gateway-request-path-case-insensitive%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







          這個網誌中的熱門文章

          Academy of Television Arts & Sciences

          L'Équipe

          1995 France bombings