On 05/16/2013 10:51 PM, Georgios Petasis wrote:
Actually, the last changelog in the sources is:

2013-05-06 Massimo Manghi <[email protected]>
     * src/apache-2/rivetCore.c: call to 'panic' changed to fulfill the
hardening
     flags that (quite oddly) fail when building against Tcl8.6 on some
platforms
     or Linux distros

I am using curl as a test client. If I do:

curl -i  -X DELETE
http://localhost/webservices/AnnotationTool/hierarchy.tcl/1

I get:

HTTP/1.1 500 Internal Server Error
Date: Thu, 16 May 2013 20:48:07 GMT
Server: Apache/2.4.4 (Fedora) OpenSSL/1.0.1e-fips PHP/5.4.14 Rivet/2.1.2
mod_perl/2.0.8-dev Perl/v5.16.3
Content-Length: 527
Connection: close
Content-Type: text/html; charset=iso-8859-1


from src/apache-2/apache_request.c

if (r->method_number == M_POST || r->method_number == M_PUT ||
    r->method_number == M_DELETE) {
        const char *ct = apr_table_get(r->headers_in, "Content-type");
        if (ct)
        {
            ap_log_rerror(REQ_INFO, "content-type: `%s'", ct);
            if (strncaseEQ(ct,
                MULTIPART_ENCTYPE, MULTIPART_ENCTYPE_LENGTH))
            {
                result = ApacheRequest_parse_multipart(req,ct);
            }
            else
            {
                result = ApacheRequest_parse_urlencoded(req);
            }

        } else {
            ap_log_rerror(REQ_ERROR, "unknown content-type");
            result = HTTP_INTERNAL_SERVER_ERROR;
        }

    }

a missing Content-Type line in the DELETE request header might bring about a 500 error message. Did you get the "unknown content-type" message in the log?

 -- Massimo



<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator at
  root@localhost to inform them of the time this error occurred,
  and the actions you performed just before this error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>

And there is a log in apache's error log:

[Thu May 16 23:48:07.593170 2013] [:error] [pid 25301] (20014)Internal
error: [client ::1:50494] unknown content-type

If I change the client call to:

curl -i -H 'Content-Type: application/x-rivet-tcl' -X DELETE
http://localhost/webservices/AnnotationTool/hierarchy.tcl/1

I get:

HTTP/1.1 405 Method Not Allowed
Date: Thu, 16 May 2013 20:49:30 GMT
Server: Apache/2.4.4 (Fedora) OpenSSL/1.0.1e-fips PHP/5.4.14 Rivet/2.1.2
mod_perl/2.0.8-dev Perl/v5.16.3
Allow: POST,OPTIONS,GET,HEAD,TRACE
Content-Length: 266
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>405 Method Not Allowed</title>
</head><body>
<h1>Method Not Allowed</h1>
<p>The requested method DELETE is not allowed for the URL
/webservices/AnnotationTool/hierarchy.tcl/1.</p>
</body></html>

The tcl script I am calling is a modified version of the code I have
posted here:

http://wiki.tcl.tk/37976

I am out of ideas. GET, POST, PUT, all work. I am having problems only
with DELETE.

George

Στις 16/5/2013 22:01, ο/η Georgios Petasis έγραψε:
Στις 16/5/2013 21:43, ο/η Jeff Lawson έγραψε:
Make sure you are using Rivet 2.1.1

That version adds support for the DELETE and PUT method
https://issues.apache.org/bugzilla/show_bug.cgi?id=53892

I am using the latest sources. I just downloaded them today.




On Thu, May 16, 2013 at 12:59 PM, Georgios Petasis <[email protected]
<mailto:[email protected]>> wrote:

    Hi all,

    I am trying to create a REST api in Rivet, but I am having
    problems with the DELETE http method.
    What I get in the client, is HTTP 500, internal server error. I
    am not sure if my tcl script gets called.

    Has anyone tried this?

    George



    ---------------------------------------------------------------------
    To unsubscribe, e-mail: [email protected]
    <mailto:[email protected]>
    For additional commands, e-mail: [email protected]
    <mailto:[email protected]>





---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to