Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(core): add parseDomainName to Fn class #10465

Merged
merged 26 commits into from
Sep 22, 2020
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
f3c77e3
refactor(appsync): graphQLApi to graphqlApi for better snakecasing
BryanPan342 Aug 31, 2020
51edc01
Revert "refactor(appsync): graphQLApi to graphqlApi for better snakec…
BryanPan342 Aug 31, 2020
884e185
Merge remote-tracking branch 'upstream/master'
BryanPan342 Aug 31, 2020
9ad9d36
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 1, 2020
d9ebafb
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 1, 2020
64db87e
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 1, 2020
b3622b0
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 1, 2020
4cdd244
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 2, 2020
6608704
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 3, 2020
f85ce81
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 4, 2020
e8cfc0c
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 8, 2020
1423bc6
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 8, 2020
2ea72ed
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 8, 2020
322d9a1
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 9, 2020
0f1b683
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 10, 2020
d1f4956
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 11, 2020
056df67
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 11, 2020
b564177
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 11, 2020
c745df5
Merge remote-tracking branch 'upstream/master'
Sep 15, 2020
0bec4e1
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 16, 2020
ecb743e
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 17, 2020
909ca16
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 18, 2020
c6c39f0
Merge remote-tracking branch 'upstream/master'
BryanPan342 Sep 21, 2020
80babab
feat(core): add parseDomainName to Fn class
BryanPan342 Sep 21, 2020
cab420e
Merge branch 'master' into parse
rix0rrr Sep 22, 2020
134fcdb
Merge branch 'master' into parse
mergify[bot] Sep 22, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions packages/@aws-cdk/core/lib/cfn-fn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,15 @@ export class Fn {
return Token.asList(new FnCidr(ipBlock, count, sizeMask));
}

/**
* Given an url, parse the domain name
* @param url the url to parse
*/
public static parseDomainName(url: string): string {
const noHttps = Fn.select(1, Fn.split('//', url));
return Fn.select(0, Fn.split('/', noHttps));
}

/**
* The intrinsic function ``Fn::GetAZs`` returns an array that lists
* Availability Zones for a specified region. Because customers have access to
Expand Down
18 changes: 18 additions & 0 deletions packages/@aws-cdk/core/test/test.fn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,24 @@ export = nodeunit.testCase({
test.done();
},
},
'FnParseDomainName': {
'parse domain name from resolved url'(test: nodeunit.Test) {
test.deepEqual(Fn.parseDomainName('https://test.com/'), 'test.com');
test.done();
},
'parse domain name on token'(test: nodeunit.Test) {
const stack = new Stack();
const url = Fn.join('//', [
'https:',
Fn.join('/', [
'test.com',
'graphql',
]),
]);
test.deepEqual(Fn.parseDomainName(stack.resolve(url)), 'test.com');
test.done();
},
},
'FnJoin': {
'rejects empty list of arguments to join'(test: nodeunit.Test) {
test.throws(() => Fn.join('.', []));
Expand Down