Commit Graph

20 Commits (ec00f7f14fbf16992b71ddd54e583ba07fdfd523)

Author SHA1 Message Date
Brad Payne (Vir Linden) a04a706c1b merge 2013-05-21 16:18:48 -04:00
Don Kjer beeefb4526 Renaming HTTP_HEADER_* into HTTP_IN_HEADER_* and HTTP_OUT_HEADER_* to make it more clear which header strings should be used for incoming vs outgoing situations.
Using constants for commonly used llhttpnode context strings.
2013-04-04 21:50:45 +00:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Don Kjer f945415210 Large changes to the LLCurl::Responder API, as well as pulling in some changes to common libraries from the server codebase:
* Additional error checking in http handlers.
* Uniform log spam for http errors.
* Switch to using constants for http heads and status codes.
* Fixed bugs in incorrectly checking if parsing LLSD xml resulted in an error.
* Reduced spam regarding LLSD parsing errors in the default completedRaw http handler.  It should not longer be necessary to short-circuit completedRaw to avoid spam.
* Ported over a few bug fixes from the server code.
* Switch mode http status codes to use S32 instead of U32.
* Ported LLSD::asStringRef from server code; avoids copying strings all over the place.
* Ported server change to LLSD::asBinary; this always returns a reference now instead of copying the entire binary blob.
* Ported server pretty notation format (and pretty binary format) to llsd serialization.

* The new LLCurl::Responder API no longer has two error handlers to choose from.  Overriding the following methods have been deprecated:
** error - use httpFailure
** errorWithContent - use httpFailure
** result - use httpSuccess
** completed - use httpCompleted
** completedHeader - no longer necessary; call getResponseHeaders() from a completion method to obtain these headers.

* In order to 'catch' a completed http request, override one of these methods:
** httpSuccess - Called for any 2xx status code.
** httpFailure - Called for any non-2xx status code.
** httpComplete - Called for all status codes.  Default implementation is to call either httpSuccess or httpFailure.
* It is recommended to keep these methods protected/private in order to avoid triggering of these methods without using a 'push' method (see below).

* Uniform error handling should followed whenever possible by calling a variant of this during httpFailure:
** llwarns << dumpResponse() << llendl;
* Be sure to include LOG_CLASS(your_class_name) in your class in order for the log entry to give more context.

* In order to 'push' a result into the responder, you should no longer call error, errorWithContent, result, or completed.
* Nor should you directly call httpSuccess/Failure/Completed (unless passing a message up to a parent class).
* Instead, you can set the internal content of a responder and trigger a corresponding method using the following methods:
** successResult - Sets results and calls httpSuccess
** failureResult - Sets results and calls httpFailure
** completedResult - Sets results and calls httpCompleted

* To obtain information about a the response from a reponder method, use the following getters:
** getStatus - HTTP status code
** getReason - Reason string
** getContent - Content (Parsed body LLSD)
** getResponseHeaders - Response Headers (LLSD map)
** getHTTPMethod - HTTP method of the request
** getURL - URL of the request

* It is still possible to override completeRaw if you want to manipulate data directly out of LLPumpIO.

* See indra/llmessage/llcurl.h for more information.
2013-03-13 06:26:25 +00:00
Todd Stinson 4feef5af63 Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-release. 2012-07-23 19:21:34 -07:00
Kelly Washington 14ebeffe87 MAINT-1078 Merchant Outbox import failures
Add 1s throttle on update checks for importer
reviewed with Simon
2012-06-27 11:32:54 -07:00
Oz Linden d500379cea PATH-735: Limit and clean up grid selection 2012-06-12 21:58:52 -04:00
Leslie Linden 788343db01 * Added timers to track the http transactions, visible through the same
"InventoryOutboxLogging" debug flag.
2012-02-10 10:56:55 -08:00
Leslie Linden 652ef62154 EXP-1791 FIX -- Handle case where initialization with SLM fails in the Merchant Outbox floater in the viewer
* Timeout now triggers the re-initialization logic in the merchant outbox.
2012-01-17 15:51:30 -08:00
Leslie Linden 59950f6178 EXP-1778 FIX -- Link to Marketplace Error log in transfer failed viewer notification
* Added a link to the "imports" log from the "done with errors" notification when
  sending folders to the marketplace.
2012-01-11 16:49:32 -08:00
Leslie Linden 0a1cb4f03e EXP-1791 FIX -- Handle case where initialization with SLM fails in the Merchant Outbox floater in the viewer
* Updated marketplace import to properly handle failed cases of authentications
  and invalid cookies.  The import will reset to an uninitialized state and then
  trigger and initialization followed immediately by an import when appropriate.
2012-01-11 11:26:56 -08:00
Leslie Linden 00b767e5a9 EXP-1791 - Handle case where initialization with SLM fails in the Merchant Outbox floater in the viewer
* Added code to clear and re-initialize the SLM cookie when authentication errors are encountered.
* Re-organized logic for outbox import a bit to hopefully be more robust when errors are encountered.
2012-01-11 10:05:15 -08:00
Leslie Linden 52fab64104 * Added "InventoryOutboxLogging" debug setting to log merchant outbox related web API calls. Each message begins with the tag "SLM". 2011-12-20 16:16:49 -08:00
Leslie Linden e826cbd907 EXP-1682 FIX
EXP-1683 FIX
EXP-1705 FIX
EXP-1707 FIX

* Outbox folder count now uses inventory API directly rather than inventory folder view for folder count and item status
* Asynchronous fetches are triggered for the outbox content when the window is opened and when it receives focus
* Marketplace URL's for empty and non-merchant outbox view have been updated
* "Copy to Merchant Outbox" and "Delete" context menu items should be fully functional now with item counts, etc.
2011-12-12 15:02:52 -08:00
Leslie Linden 67f1321f31 Initial functional merchant outbox floater 2011-12-08 16:46:30 -08:00
Leslie Linden 35020db3a9 Refactored marketplace inventory import HTTP requests and surrounding support to remove it from the UI panel code. 2011-12-07 15:04:39 -08:00
Leslie Linden a255fadfab Updated to trigger a 'get' to establish marketplace session cookie when outbox panel created. 2011-12-06 11:19:58 -08:00
Leslie Linden 5918913063 First pass at connecting to the new marketplace API 2011-12-05 13:37:37 -08:00
Leslie Linden c24645f7b5 Updated url for damballah to use secondlife-staging 2011-11-14 14:41:26 -08:00
Leslie Linden 5af39ea28b EXP-1169 FIX -- No synch error icon given on Outbox on Agni where API does not exist
* Moved marketplace URL related functions into a new file llmarketplacefunctions.cpp/h.
  This will the future home of more marketplace-related functions.
* Disabled sync button when the marketplace API is unavailable.
2011-09-16 11:46:37 -07:00