troelskn / konstrukt

A HTTP-friendly framework of controllers for PHP5.
http://konstrukt.dk/
Other
99 stars 14 forks source link

postXml is not called #2

Closed ghost closed 13 years ago

ghost commented 14 years ago

I am getting a 406 with POST text/xml requests when I declare postXml. I get no error if I declare a POST method in the same class.

ghost commented 14 years ago

The issue appears to be in konstrukt.inc.php on lines 1149-1154. I'm not sure what the motivation is behind this logic, but any Component implementing a post* method will fail because of that loop, Konstrukt detecting the collision with inherited methods.

I forked and was going to pull request but I cannot get any tests in the suite to pass even with no changes to the codebase. I would greatly appreciate some guidance in setting up the necessary test environment.

troelskn commented 14 years ago

You can run tests by invoking script/test_all.php. If you call it with --verbose as parameter, you'll get information about any failing tests. Note that this will run all the examples' tests, some of which have external dependencies. The unit tests are the most important. Run these by changing to test/ and run each test file.

You need to have SimpleTest installed to run any tests.

troelskn commented 14 years ago

Regarding your issue: Konstrukt raises a 406 (Not Acceptable), if the component has at least one valid post-handler, but the request doesn't match. Eg. if you have a postXml handler and you post something that is not text/xml. How did you generate the request?

troelskn commented 13 years ago

I'm closing this, since there has been no ffedback.