Skip navigation
alexeyo
Currently Being Moderated

Why does LrHttp.get add Content-Type=text/plain explicitly to headers ???

Jan 24, 2012 2:26 AM

Hi everybody,

 

I'm not just curious about my subject,- this is really serious as far as it breaks an idea of Live SkyDrive plugin development.

When I make a very simple call to Windows Live REST API via LrHttp.get I always get error response from Live services API

saying that Content-Type header is not expected with http "GET" verb! And, yes, IMHO people from MS are right: what is a reason to

add such header if HTTP GET doesn't imply request-body ? Did somebody here also notice this strange behavior and know how to make

LrHttp.get behave more "politely"? Because, I'm about to consider this as a bug

 

Thanks.

 
Replies
  • Currently Being Moderated
    Jan 24, 2012 11:19 AM   in reply to alexeyo

    Seems like a bug to me.  Also, it doesn't seem possible to suppress the Content-Type header -- you can only change it by passing {{field = "Content-Type", value = newvalue}}.  You should file a bug report in the feedback forum:

     

    http://feedback.photoshop.com/photoshop_family/products/photoshop_fami ly_photoshop_lightroom

     

    I'm guessing that most services would just ignore the Content-Type header, so this hasn't arisen before; but Microsoft is certainly implementing the HTTP protocol correctly. (As a rule with exceptions, I prefer implementations that strictly follow standards -- I've learned over the decades that it saves much grief in the long run.)

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 24, 2012 11:21 AM   in reply to John R. Ellis

    I see that you did submit it to the feedback forum, good.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 25, 2012 11:00 AM   in reply to alexeyo

    Are you familiar with http proxy-ing?

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 26, 2012 11:07 AM   in reply to alexeyo

    The proxy works on your local host.

     

    It as an app that forwards http requests and replies, except you'll be able to control the http header.

     

    1. It's plenty reliable. Almost all corporate users connect to the internet through a proxy. In fact, most local users connect to the internet via a proxy too (their routers).

    2. No host required - it runs on your local machine.

    3. No argument. This workaround is proposed so you can meet your goal, not to let Adobe off the hook.

     

    PS - I use an FTP "proxy" app because it's more reliable than doing the FTP via plugin/SDK.

     

    Cheers,

    Rob

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 26, 2012 12:12 PM   in reply to Rob Cole

    To build on Rob's reply, I think there are a number of open-source lightweight HTTP proxy/Web servers out there that might already provide the capability of removing the Content-Type header on GET requests or could be straightforwardly modified to do so.  These proxy servers are quite reliable, run on the same machine as LR, have a small memory footprint, are fast to start, and run on both Mac and Windows.   You might start with "lighthttpd".

     

    But it is annoying to have to work around bugs in the SDK.

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points