INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

Why is the "URL" property blank in the "TWebRequest"?

Why is the "URL" property blank in the "TWebRequest"?

(OP)
I'm using Delphi XE2, Indy 10, and a TIdHTTPWebBrokerBridge. In the web module, requests are handled via TWebRequest and TWebResponse objects. I need to read the full complete URI which was sent from the client, but in the TWebRequest, the only relevant property, URL, returns empty. Why is this empty and how can I get the full URI?

JD Solutions

RE: Why is the "URL" property blank in the "TWebRequest"?

Trying your luck here since you didn't get a response on SO eh? :)
Anyway, If I were you, debug the application after a request and drill down to the Indy source code and see if Indy is filling in the data you need.
I took a look a the Indy source code and it seems itis merely a wrapper for the Borland webbroker.
So I'm not certain if this is even possible.

/Daddy

-----------------------------------------------------
Helping people is my job...

RE: Why is the "URL" property blank in the "TWebRequest"?

(OP)
I tried tracking the reading of the URL property and wound up getting confused how this actually works internally, got stuck at:

CODE --> Delphi

function GetStringVariable(Index: Integer): AnsiString; virtual; abstract; 

Where Index = 1

But this is an abstract function...?


JD Solutions

RE: Why is the "URL" property blank in the "TWebRequest"?

(OP)
Ah Ha! In IdHTTPWebBrokerBridge.pas...

CODE

function TIdHTTPAppRequest.GetStringVariable(Index: Integer): AnsiString;
...
  case Index of
    ...
    INDEX_URL: Result := AnsiString(''); // Root - consistent with ISAPI which return path to root 

So Indy is leaving this field blank for some reason...

JD Solutions

RE: Why is the "URL" property blank in the "TWebRequest"?

(OP)
And just above that is a commented line:

CODE

//INDEX_URL             : Result := AnsiString(FRequestInfo.Document); 

JD Solutions

RE: Why is the "URL" property blank in the "TWebRequest"?

It seems that they do this for consistency with ISAPI.
Maybe add your own variable?

/Daddy

-----------------------------------------------------
Helping people is my job...

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close