Решено:
curl \
-X POST \
-H "Content-Type: multipart/form-data; boundary=----------------------------4ebf00fbcf09" \
--data-binary @test.txt \
http://localhost:3000/test
Где test.txt
содержит следующий текст и, что наиболее важно, имеет CRLF (\ r \ n) окончания строки :
------------------------------4ebf00fbcf09
Content-Disposition: form-data; name="example"
test
------------------------------4ebf00fbcf09--
Примечания: важно использовать --data-binary
вместо простого старого -d
, так как первый сохраняет окончания строк (которые очень важны). Также отметим, что граница в теле начинается с лишнего --
.
Я собираюсь повторить это, потому что это так важно, но этот файл тела запроса должен иметь окончания строки CRLF. Мультиплатформенный текстовый редактор с хорошей поддержкой конца строки - это jEdit ( как установить окончание строки в jEdit ).
Если вы заинтересованы в том, как я работал с этим (отладка с помощью приложения Ruby on Rails), а не только в качестве окончательного решения, я написал мои шаги по отладке в моем блоге .
On your recursive lines, you do not return anything. If you want it to return 0, you should replace them with lines like:
return self.insert(key, root=tmp.left)
instead of just
self.insert(key, root=tmp.left)
Вы находитесь внутри функции и хотите вернуть значение, что вы делаете? Вы пишете
def function():
return value
В вашем случае вы хотите вернуть значение, возвращаемое вызовом функции, поэтому вы должны это сделать.
def function():
return another_function()
Однако вы делаете
def function():
another_function()
Почему вы думаете, что это должно работать? Конечно, вы используете рекурсию, но в таком случае вы должны помнить Дзен Python, который просто говорит:
Особых случаев недостаточно, чтобы нарушать правила.