ctdk / goiardi

A Chef server written in Go, able to run entirely in memory, with optional persistence with saving the in-memory data to disk or using MySQL or Postgres as the data storage backend. Docs: http://goiardi.readthedocs.io/en/latest/index.html
http://goiardi.gl
Apache License 2.0
280 stars 39 forks source link

Goiardi probably not compatible with Go 1.6+ #46

Closed theckman closed 8 years ago

theckman commented 8 years ago

I reached out to @ctdk on Twitter, but I figured I'd open an issue for posterity.

I'm fairly certain Goiardi will no longer work if built with Go 1.6.0+ (at the time of writing). I don't believe there is anything the Goiardi project can do to alleviate this issue as it is a problem in net/http. The problem is due to this commit:

One of the HTTP headers used by the Chef authentication mechanism has a space in it (Hashed Path). Unfortunately, net/http appears to reject the request before your handler has the chance to see it due to the behavior introduced by the commit above. This was tested using an *http.Server with a hand-built ` I've opened an issue on the Go project regarding this being a problem:

ctdk commented 8 years ago

As we discussed, it turned out to be a bug in go-chef. Closing as (mercifully) not an issue.