Skip to content
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,12 @@ function transformApiVersion(
const queryVersionDetail = getOperationQueryApiVersion(model);
const pathVersionDetail = extractPathApiVersion(urlInfo);
const isCrossedVersion =
pathVersionDetail?.isCrossedVersion || queryVersionDetail?.isCrossedVersion;
queryVersionDetail || pathVersionDetail
? Boolean(
pathVersionDetail?.isCrossedVersion ||
queryVersionDetail?.isCrossedVersion
)
: undefined;
let defaultValue =
pathVersionDetail?.defaultValue ?? queryVersionDetail?.defaultValue;

Expand All @@ -88,7 +93,8 @@ function transformApiVersion(
pathVersionDetail
),
isCrossedVersion,
defaultValue
defaultValue,
required: pathVersionDetail?.required ?? queryVersionDetail?.required
};
}

Expand All @@ -112,9 +118,10 @@ function getOperationQueryApiVersion(

if (apiVersionParam && isConstantSchema(apiVersionParam.schema)) {
return {
definedPosition: "path",
definedPosition: "query",
isCrossedVersion: false,
defaultValue: apiVersionParam.schema.value.value.toString()
defaultValue: apiVersionParam.schema.value.value.toString(),
required: apiVersionParam.required
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,18 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { BodyComplexRestClient } from "./clientDefinitions";

export interface BodyComplexRestClientOptions extends ClientOptions {
apiVersion?: string;
}

/**
* Initialize a new instance of `BodyComplexRestClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
): BodyComplexRestClient {
export default function createClient({
apiVersion = "2016-02-29",
...options
}: BodyComplexRestClientOptions = {}): BodyComplexRestClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
const userAgentInfo = `azsdk-js-body-complex-rest/1.0.0-preview1`;
Expand All @@ -28,15 +33,23 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(endpointUrl, options) as BodyComplexRestClient;

client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
if (options.apiVersion) {
logger.warning(
"This client does not support client api-version, please change it at the operation level",
);
}
client.pipeline.addPolicy({
name: "ClientApiVersionPolicy",
sendRequest: (req, next) => {
// Use the apiVersion defined in request url directly
// Append one if there is no apiVersion and we have one at client options
const url = new URL(req.url);
if (!url.searchParams.get("api-version") && apiVersion) {
req.url = `${req.url}${
Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"
}api-version=${apiVersion}`;
}

return next(req);
},
});
return client;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { BodyFileClient } from "./clientDefinitions";

export interface BodyFileClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `BodyFileClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
options: BodyFileClientOptions = {},
): BodyFileClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
Expand All @@ -28,7 +30,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(endpointUrl, options) as BodyFileClient;

client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { BodyFormDataClient } from "./clientDefinitions";

export interface BodyFormDataClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `BodyFormDataClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
options: BodyFormDataClientOptions = {},
): BodyFormDataClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
Expand All @@ -28,7 +30,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(endpointUrl, options) as BodyFormDataClient;

client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { BodyStringRestClient } from "./clientDefinitions";

export interface BodyStringRestClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `BodyStringRestClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
options: BodyStringRestClientOptions = {},
): BodyStringRestClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
Expand All @@ -28,7 +30,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(endpointUrl, options) as BodyStringRestClient;

client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { CustomUrlRestClient } from "./clientDefinitions";

export interface CustomUrlRestClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `CustomUrlRestClient`
* @param host - A string value that is used as a global part of the parameterized host
* @param options - the parameter for all optional parameters
*/
export default function createClient(
host: string,
options: ClientOptions = {},
options: CustomUrlRestClientOptions = {},
): CustomUrlRestClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://{accountName}${host}`;
Expand All @@ -30,7 +32,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(endpointUrl, options) as CustomUrlRestClient;

client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { DPGCustomizationClient } from "./clientDefinitions";

export interface DPGCustomizationClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `DPGCustomizationClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
options: DPGCustomizationClientOptions = {},
): DPGCustomizationClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
Expand All @@ -28,7 +30,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(endpointUrl, options) as DPGCustomizationClient;

client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { HeaderRestClient } from "./clientDefinitions";

export interface HeaderRestClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `HeaderRestClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
options: HeaderRestClientOptions = {},
): HeaderRestClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
Expand All @@ -28,7 +30,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(endpointUrl, options) as HeaderRestClient;

client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { HttpInfrastructureRestClient } from "./clientDefinitions";

export interface HttpInfrastructureRestClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `HttpInfrastructureRestClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
options: HttpInfrastructureRestClientOptions = {},
): HttpInfrastructureRestClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
Expand All @@ -28,7 +30,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(
endpointUrl,
options,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { LRORestClient } from "./clientDefinitions";

export interface LRORestClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `LRORestClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
options: LRORestClientOptions = {},
): LRORestClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
Expand All @@ -28,7 +30,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(endpointUrl, options) as LRORestClient;

client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { MediaTypesClient } from "./clientDefinitions";

export interface MediaTypesClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `MediaTypesClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
options: MediaTypesClientOptions = {},
): MediaTypesClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
Expand All @@ -28,7 +30,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(endpointUrl, options) as MediaTypesClient;

client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ import { getClient, ClientOptions } from "@azure-rest/core-client";
import { logger } from "./logger";
import { MultipleInheritanceRestClient } from "./clientDefinitions";

export interface MultipleInheritanceRestClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `MultipleInheritanceRestClient`
* @param options - the parameter for all optional parameters
*/
export default function createClient(
options: ClientOptions = {},
options: MultipleInheritanceRestClientOptions = {},
): MultipleInheritanceRestClient {
const endpointUrl =
options.endpoint ?? options.baseUrl ?? `http://localhost:3000`;
Expand All @@ -28,7 +30,6 @@ export default function createClient(
logger: options.loggingOptions?.logger ?? logger.info,
},
};

const client = getClient(
endpointUrl,
options,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import { logger } from "./logger";
import { TokenCredential } from "@azure/core-auth";
import { MultipleUrlParameterRestClient } from "./clientDefinitions";

export interface MultipleUrlParameterRestClientOptions extends ClientOptions {}

/**
* Initialize a new instance of `MultipleUrlParameterRestClient`
* @param endpoint - The catalog endpoint of your Purview account. Example: https://{accountName}.purview.azure.com
Expand All @@ -17,13 +19,12 @@ export default function createClient(
endpoint: string,
serviceVersion: "v2" | "v1",
credentials: TokenCredential,
options: ClientOptions = {},
options: MultipleUrlParameterRestClientOptions = {},
): MultipleUrlParameterRestClient {
const endpointUrl =
options.endpoint ??
options.baseUrl ??
`${endpoint}/catalog/api/atlas/${serviceVersion}/{accountName}`;

const userAgentInfo = `azsdk-js-multiple-url-parameter-rest/1.0.0-preview1`;
const userAgentPrefix =
options.userAgentOptions && options.userAgentOptions.userAgentPrefix
Expand All @@ -41,7 +42,6 @@ export default function createClient(
scopes: options.credentials?.scopes ?? ["user_impersonation"],
},
};

const client = getClient(
endpointUrl,
credentials,
Expand Down
Loading