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)
aws-api-gateway
add a comment |
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)
aws-api-gateway
add a comment |
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)
aws-api-gateway
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
aws-api-gateway
edited Nov 9 at 12:19
asked Nov 9 at 12:13
Shaheer
83
83
add a comment |
add a comment |
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
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
add a comment |
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
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
add a comment |
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
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
add a comment |
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
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
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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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