Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Rest Server Hata
#1
Merhaba 
Aşağıdaki kodda client Token isteği (kullanıcı adını hatalı) gönderdiğinde önce (debug yaptığımda) Kullanıcı Hatalı [1] yazan yerden dönüyor, sonra bu procedure tekrar giriyor ve Yetkilendirme problemi [1] (tek mesaj) dönüyor.
2 defa istek gönderilmediği halde bu procedure neden 2. defa giriyor?

procedure Ttyp.typTokenAction(Sender: TObject; Request: TWebRequest;
 Response: TWebResponse; var Handled: Boolean);
var
 .....
begin
 Handled := True;
  case Request.MethodType of
  mtPost: begin
           AuthHeader := Request.Authorization;
           if AuthHeader.StartsWith('Basic ') then
               begin
                 AuthHeader := AuthHeader.Substring(6);
                 AuthInfo := TStringList.Create;
                 try
                   AuthInfo.Delimiter := ':';
                   AuthInfo.DelimitedText := TNetEncoding.Base64.Decode(AuthHeader);
                   if AuthInfo.Count = 2 then
                   begin
                     Username := AuthInfo[0];
                     Password := AuthInfo[1];
                   end
                    else
                   begin
                     Response.Content    := sdbf.JSonHata(803, 'Hatalı Başlık','');
                     Response.StatusCode := 400; // Bad Request
                   end;
                 finally
                   AuthInfo.Free;
                 end;
               end
                else
               begin
                 Response.Content    := sdbf.JSonHata(805, 'Yetkilendirme problemi [1]','');
                 Response.StatusCode := 401; // Unauthorized
                 exit;
               end;
           if (Username<>'TestUser') then
               begin
                 Response.Content := sdbf.JSonHata(805, 'Yetkilendirme problemi [2]', '');
                 Response.StatusCode := 401; // Unauthorized
                 Response.SendResponse;
                 exit;
               end else inc(KontSay);
           if (Password<>RestUrunSf) then
               begin
                 Response.Content := sdbf.JSonHata(805, 'Yetkilendirme problemi [3]', '');
                 Response.StatusCode := 401; // Unauthorized
                 Response.SendResponse;
                 exit;
               end else inc(KontSay);
           if not sdbf.SqlConnAc then
              begin
               Response.ContentType := 'application/json';
               Response.Content     := sdbf.JSonHata(801, '801.SQL Bağlantı Hatası', '');
               Response.StatusCode  := 400;
               Response.SendResponse;
               exit;
              end;
           // **** Kullanıcı
           try Pers   := TNetEncoding.URL.Decode(Request.GetFieldByName('Pers')); except Pers := ''; end;
           if  (Length(Pers)>20) or (string(Pers).CountChar('''')>0) then
               begin
                 Response.Content := sdbf.JSonHata(802, 'Kullanıcı Hatalı [0]', '');
                 Response.StatusCode := 401; // Unauthorized
                 Response.SendResponse;
                 exit;
               end;
           sdbf.QTMP('SELECT PERS.SIRA FROM PERSONEL PERS ' +
                     'WHERE ISNULL(PERS.PASIF,0)=0 AND PERS.KULLADI='+QuotedStr(Pers),1);
           if  sDBF.TMP_.RecordCount<>1  then
               begin
                 Response.Content := sdbf.JSonHata(802, 'Kullanıcı Hatalı [1]', '');
                 Response.StatusCode := 401; // Unauthorized
                 Response.SendResponse;
                 exit;
               end;
           .....

Cevapla
#2
Hangi REST framework'ünü kullanıyorsunuz?
WWW
Cevapla
#3
Framework ?
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi ile SQL server bağlantı hatası yakalama Under 20 1.474 21-11-2025, Saat: 15:24
Son Yorum: mrmarman
  Rest servis api uygulaması yapma tuna 13 1.068 17-10-2025, Saat: 18:40
Son Yorum: tuna
  TIdHTTPWebBrokerBridge ile HTTP server de response bloklanabilirmi? aegean 1 331 25-09-2025, Saat: 19:57
Son Yorum: aegean
  TMS Web Core- REST İşlemlerini Nasıl Yapabilirim? kajmerantime 0 360 13-06-2025, Saat: 14:07
Son Yorum: kajmerantime
  Lokasyon Sensör hata turkcann 3 793 10-03-2025, Saat: 09:55
Son Yorum: RAD Coder



Konuyu Okuyanlar: 1 Ziyaretçi