ncw / swift

Go language interface to Swift / Openstack Object Storage / Rackspace cloud files (golang)
MIT License
313 stars 107 forks source link

Document about authentication flow may be misleading? #173

Open wdhongtw opened 3 years ago

wdhongtw commented 3 years ago

The Authentication method says:

If you don't call it before calling one of the connection methods then it will be called for you on the first access.

And the Call method says

This will Authenticate if necessary, and re-authenticate if it receives a 401 error which means the token has expired

But if user create the connection object and use Call method directly, program will receive SIGSEGV, because the conn.authLock member is not initialized yet. Other method like ObjectPut ObjectDelete also suffer from this problem.

Although the sample code do call Authenticate after connection object construction. I thought the document may be a little misleading. :D