norgepaul / DelphiKafkaClient

Apache Kafka Client for Delphi
MIT License
64 stars 30 forks source link

Issue spliting configuration strings #3

Open UxCasi opened 3 years ago

UxCasi commented 3 years ago

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

norgepaul commented 2 years ago

@UxCasi Can you create a PR with the changes?