Skip to content

Commit c8867b0

Browse files
authored
Adding default domain to hostnames (#2051)
* Adding default domain to hostnames * fixing params for hostnames
1 parent 3845892 commit c8867b0

8 files changed

Lines changed: 34 additions & 3 deletions

File tree

‎src/components/operations/operation-details/ko/operationDetailsEditor.html‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@
1818
Use CORS proxy
1919
label>
2020
div>
21+
<div class="form-group">
22+
<label for="includeAllHostnames" class="form-label">
23+
<input type="checkbox" id="includeAllHostnames" name="includeAllHostnames" data-bind="checked: includeAllHostnames" />
24+
Include all hostnames
25+
label>
26+
div>
2127
div>
2228
div>
2329

‎src/components/operations/operation-details/ko/operationDetailsEditor.ts‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@ export class OperationDetailsEditor {
1212
public readonly enableScrollTo: ko.Observable<boolean>;
1313
public readonly defaultSchemaView: ko.Observable<string>;
1414
public readonly useCorsProxy: ko.Observable<boolean>;
15+
public readonly includeAllHostnames: ko.Observable<boolean>;
1516
public readonly showExamples: ko.Observable<boolean>;
1617

1718
constructor() {
1819
this.enableConsole = ko.observable();
1920
this.enableScrollTo = ko.observable();
2021
this.defaultSchemaView = ko.observable();
2122
this.useCorsProxy = ko.observable();
23+
this.includeAllHostnames = ko.observable();
2224
this.showExamples = ko.observable();
2325
}
2426

@@ -32,12 +34,14 @@ export class OperationDetailsEditor {
3234
public async initialize(): Promise<void> {
3335
this.enableConsole(this.model.enableConsole);
3436
this.useCorsProxy(this.model.useCorsProxy);
37+
this.includeAllHostnames(this.model.includeAllHostnames);
3538
this.enableScrollTo(this.model.enableScrollTo);
3639
this.defaultSchemaView(this.model.defaultSchemaView || "table");
3740
this.showExamples(this.model.showExamples);
3841

3942
this.enableConsole.subscribe(this.applyChanges);
4043
this.useCorsProxy.subscribe(this.applyChanges);
44+
this.includeAllHostnames.subscribe(this.applyChanges);
4145
this.enableScrollTo.subscribe(this.applyChanges);
4246
this.defaultSchemaView.subscribe(this.applyChanges);
4347
this.showExamples.subscribe(this.applyChanges);
@@ -46,6 +50,7 @@ export class OperationDetailsEditor {
4650
private applyChanges(): void {
4751
this.model.enableConsole = this.enableConsole();
4852
this.model.useCorsProxy = this.useCorsProxy();
53+
this.model.includeAllHostnames = this.includeAllHostnames();
4954
this.model.enableScrollTo = this.enableScrollTo();
5055
this.model.defaultSchemaView = this.defaultSchemaView();
5156
this.model.showExamples = this.showExamples();

‎src/components/operations/operation-details/ko/operationDetailsViewModelBinder.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export class OperationDetailsViewModelBinder implements ViewModelBinder
3232
enableScrollTo: model.enableScrollTo,
3333
defaultSchemaView: model.defaultSchemaView,
3434
useCorsProxy: model.useCorsProxy,
35+
includeAllHostnames: model.includeAllHostnames,
3536
showExamples: model.showExamples,
3637
};
3738

‎src/components/operations/operation-details/ko/runtime/operation-details.ts‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export class OperationDetails {
7272
this.definitions = ko.observableArray<TypeDefinition>();
7373
this.defaultSchemaView = ko.observable("table");
7474
this.useCorsProxy = ko.observable();
75+
this.includeAllHostnames = ko.observable();
7576
this.requestUrlSample = ko.computed(() => {
7677

7778
const api = this.api();
@@ -130,6 +131,9 @@ export class OperationDetails {
130131
@Param()
131132
public useCorsProxy: ko.Observable<boolean>;
132133

134+
@Param()
135+
public includeAllHostnames: ko.Observable<boolean>;
136+
133137
@Param()
134138
public enableScrollTo: boolean;
135139

@@ -372,7 +376,7 @@ export class OperationDetails {
372376
}
373377

374378
public async loadGatewayInfo(apiName: string): Promise<void> {
375-
const hostnames = await this.apiService.getApiHostnames(apiName);
379+
const hostnames = await this.apiService.getApiHostnames(apiName, this.includeAllHostnames());
376380

377381
if (hostnames.length !== 0) {
378382
this.sampleHostname(hostnames[0]);

‎src/components/operations/operation-details/operationDetailsContract.ts‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ export interface OperationDetailsContract extends Contract {
2121
*/
2222
useCorsProxy?: boolean;
2323

24+
/**
25+
* Indicates include all hostnames to the test console.
26+
*/
27+
includeAllHostnames?: boolean;
28+
2429
/**
2530
* Show operation attribute values examples in a column in tables.
2631
*/

‎src/components/operations/operation-details/operationDetailsModel.ts‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ export class OperationDetailsModel {
1919
*/
2020
public useCorsProxy?: boolean;
2121

22+
/**
23+
* Indicates include all hostnames to the test console.
24+
*/
25+
public includeAllHostnames?: boolean;
26+
2227
/**
2328
* Show operation attribute values examples in a column in tables.
2429
*/

‎src/components/operations/operation-details/operationDetailsModelBinder.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export class OperationDetailsModelBinder implements IModelBinder
1919
model.enableScrollTo = contract.enableScrollTo !== undefined && contract.enableScrollTo === true;
2020
model.defaultSchemaView = contract.defaultSchemaView || "table";
2121
model.useCorsProxy = contract.useCorsProxy;
22+
model.includeAllHostnames = contract.includeAllHostnames;
2223
model.showExamples = contract.showExamples || false;
2324

2425
return model;
@@ -31,6 +32,7 @@ export class OperationDetailsModelBinder implements IModelBinder
3132
enableScrollTo: model.enableScrollTo,
3233
defaultSchemaView: model.defaultSchemaView,
3334
useCorsProxy: model.useCorsProxy,
35+
includeAllHostnames: model.includeAllHostnames,
3436
showExamples: model.showExamples,
3537
};
3638

‎src/services/apiService.ts‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -538,8 +538,11 @@ export class ApiService {
538538
return page;
539539
}
540540

541-
public async getApiHostnames(apiName: string): Promise<string[]> {
542-
const query = `apis/${apiName}/hostnames`;
541+
public async getApiHostnames(apiName: string, includeAllHostnames: boolean = false): Promise<string[]> {
542+
let query = `apis/${apiName}/hostnames`;
543+
if(includeAllHostnames) {
544+
query+=`?includeAllHostnames=true`
545+
}
543546
const pageOfHostnames = await this.mapiClient.get<Page<Hostname>>(query, [await this.mapiClient.getPortalHeader("getApiHostnames")]);
544547
const hostnameValues = pageOfHostnames.value.map(x => x.properties.value);
545548

0 commit comments

Comments
 (0)