Using your library, I have found an issue when I try to connect to a kafka server hosted in Azure.
A typical configuration string for kafka hosted in Azure accessible by WindowsAzure.ServiceBus is
'sasl.password=Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=[SAS key]'
The TKafkaUtils.StringsToConfigArrays procedure in the Kafka.Helper unit fails when spliting string values with more than one '=' character.
An alternative implementation of this procedure could be
class procedure TKafkaUtils.StringsToConfigArrays(const Values: TStrings; out NameArr, ValueArr: TArray);
var i, p: Integer;
begin
for i := 0 to pred(Values.Count) do
begin
p := Values[i].IndexOf('=');
if p>=0 then begin
NameArr := NameArr + [Values[i].Substring(0,p)];
ValueArr := ValueArr + [Values[i].Substring(p+1)];
end;
end;
end;
Hi
Using your library, I have found an issue when I try to connect to a kafka server hosted in Azure. A typical configuration string for kafka hosted in Azure accessible by WindowsAzure.ServiceBus is 'sasl.password=Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=[SAS key]'
The TKafkaUtils.StringsToConfigArrays procedure in the Kafka.Helper unit fails when spliting string values with more than one '=' character.
An alternative implementation of this procedure could be
class procedure TKafkaUtils.StringsToConfigArrays(const Values: TStrings; out NameArr, ValueArr: TArray);
var i, p: Integer;
begin
for i := 0 to pred(Values.Count) do
begin
p := Values[i].IndexOf('=');
if p>=0 then begin
NameArr := NameArr + [Values[i].Substring(0,p)];
ValueArr := ValueArr + [Values[i].Substring(p+1)];
end;
end;
end;
Best Regards