Skip to content

Commit 2756f5f

Browse files
authored
comma seperator incorrect encoding issue fix (#436)
* comma seperator incorrect encoding issue fix * modified featureflag conditions * fixed white space issue at commaseperatorcheck * modified local variable names to camel case
1 parent aa9e896 commit 2756f5f

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

common-npm-packages/webdeployment-common/msdeployutility.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,15 @@ export function getMSDeployCmdArgs(webAppPackage: string, webAppName: string, pr
113113
function escapeQuotes(additionalArguments: string): string {
114114
const parsedArgs = parseAdditionalArguments(additionalArguments);
115115
const separator = ",";
116-
116+
let commaSeperatedCSEnabled = tl.getPipelineFeature('CommaSeperatedConnectionString');
117117
const formattedArgs = parsedArgs.map(function (arg) {
118118
let formattedArg = '';
119119
let equalsSignEncountered = false;
120120
for (let i = 0; i < arg.length; i++) {
121-
const char = arg.charAt(i);
122-
if (char == separator && equalsSignEncountered) {
121+
const char = arg.charAt(i);
122+
let quotedStringCheck = (char == separator && equalsSignEncountered && ((formattedArg.startsWith("'") && formattedArg.endsWith("'")) || (formattedArg.startsWith('"') && formattedArg.endsWith('"'))));
123+
let commaSeperatorCheck = commaSeperatedCSEnabled ? quotedStringCheck : (char == separator && equalsSignEncountered);
124+
if (commaSeperatorCheck) {
123125
equalsSignEncountered = false;
124126
arg = arg.replace(formattedArg, escapeArg(formattedArg));
125127
formattedArg = '';
@@ -421,4 +423,4 @@ export interface WebDeployResult {
421423
isSuccess: boolean;
422424
errorCode?: string;
423425
error?: string;
424-
}
426+
}

0 commit comments

Comments
 (0)