Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi DELETE-Methode fuer HTTP gesucht und selbst gebastelt (https://www.delphipraxis.net/118402-delete-methode-fuer-http-gesucht-und-selbst-gebastelt.html)

mashutu 7. Aug 2008 09:08


DELETE-Methode fuer HTTP gesucht und selbst gebastelt
 
Servus ich versuche mein GPS-Mapper mit den Daten von Openstreetmap zu verbinden, was grundsaetzlich auch geht.
Bislang verwende ich Delphi 2006 mit Indy 10.1 und zwar die TidHTTP-Component.

PUT und GET funktionieren auch. Aber TIDHTTP hat keine DELETE-Methode.

Delphi-Quellcode:
Ausschnitt aus den Protocol-Specs
----------------------cut--------------------
   Basic Methods for Object Access and Manipulation

For each of the above-mentioned object types, the API supports these CRUD operations (replace <objtype> by one of node, way, relation; replace <id> by the id of the object in question):

.....................................................Payload                        
Purpose_________HTTP   Method and URL_______________Request_______Response
Creation________PUT    /api/0.5/<objtype>/create____XML per DTD___id
Retrieval_______GET    /api/0.5/<objtype>/<id>______n/a___________XML per DTD
Update__________PUT    /api/0.5/<objtype>/<id>______XML per DTD___empty
Deletion________DELETE /api/0.5/<objtype>/<id>______n/a___________n/a
----------------------cut---------------------
Ich habe es wie folgt mit der Property Request versucht, was aber nicht funktioniert:
Delphi-Quellcode:
var
   httpLink   :  TIdHTTP;
begin
    sURL := 'http://api.openstreetmap.org/api/0.5/node/'+intToStr(nodeid),
    httpLink.Request.Method:=Id_HTTPMethodDelete;
    try
       iRes := -1;
       sResult := httpLink.Put(sURL,xStream);

    ...
end;
Jemand eine Idee wie man DELETE operationen realisieren kann?
Danke fuer Eure Muehe



utu

mkinzler 7. Aug 2008 09:21

Re: DELETE-Methode fuer HTTP gesucht
 
Vielleicht mit Synapse oder ICS

mashutu 7. Aug 2008 09:40

Re: DELETE-Methode fuer HTTP gesucht
 
Zitat:

Zitat von mkinzler
Vielleicht mit Synapse oder ICS

Danke werde es mir anschauen.

mashutu 7. Aug 2008 09:53

Re: DELETE-Methode fuer HTTP gesucht
 
Auf den ersten Blick bietet weder ICS noch Synapse eine DELETE-Methode ... muss mal noch weiter graben.

mashutu 7. Aug 2008 20:43

Re: DELETE-Methode fuer HTTP gesucht und selbst gebastelt
 
Okay, da ich auf die Schnelle keine Komponente gefunden habe, die ein DELETE implementiert, habe ich mir das selbst geschrieben:
Delphi-Quellcode:
unit yIdHttpExt;//my IdHTTPExtension

interface
uses
    IdHTTP;
type
    yIdHTTP = class(TIdHTTP)
        private
        published
        public
            procedure delete(AURL: string);
    end;
implementation

procedure yIdHTTP.delete(AURL: string);
begin
  DoRequest(Id_HTTPMethodDelete, AURL, nil, NIL, []);
end;

end.
Sollte selbsterklaerend sein. DoRequest ist in der Basisklasse (TIdCustomHTTP) als [protected] deklariert ...
Erste Tests sehen vielversprechend aus.
[Edit:
ProtocolVersion := pv1_1;
required]


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz