    /**
     * call-seq:
     *    parser.finish -> true/false
     *
     * Finishes a parser early which could put in a "good" or bad state.
     * You should call reset after finish it or bad things will happen.
     */
    VALUE HttpParser_finish(VALUE self)
    {
      http_parser *http = NULL;
      DATA_GET(self, http_parser, http);
      http_parser_finish(http);

      return http_parser_is_finished(http) ? Qtrue : Qfalse;
    }