It won't retry on http-level errors; those semantics are up to the
application. It should only retry connection-layer problems. So there must
have been something funny happening either between the client and Charles,
or between Charles and Omniture.



On Sat, Feb 23, 2013 at 6:50 PM, larry google groups <
lawrencecloj...@gmail.com> wrote:

> > Very likely it's the automatic retry logic:
>
>
> Thank you for that. One mystery solved. I wonder why it retries? The
> ping reaches Omniture, I get back a 401 error. Maybe it retries on any
> 4xx error?
>
>
>
>
> On Feb 23, 6:30 pm, Jonah Benton <jo...@jonah.com> wrote:
> > Very likely it's the automatic retry logic:
> >
> > ;; Apache's http client automatically retries on IOExceptions, if
> > you;; would like to handle these retries yourself, you can specify a;;
> > :retry-handler. Return true to retry, false to stop
> > trying:(client/post "http://example.org"; {:multipart [["title" "Foo"]
> >                                                ["Content/type"
> "text/plain"]
> >                                                ["file"
> > (clojure.java.io/file "/tmp/missing-file")]]
> >                                    :retry-handler (fn [ex try-count
> > http-context]
> >                                                     (println "Got:" ex)
> >                                                     (if (> try-count
> > 4) false true))})
> >
> > from
> >
> > https://github.com/dakrone/clj-http
> >
> > On Sat, Feb 23, 2013 at 5:57 PM, larry google groups <
> >
> >
> >
> >
> >
> >
> >
> > lawrencecloj...@gmail.com> wrote:
> >
> > > Any idea why a single call to clj-http/post causes 4 transactions to
> > > appear in Charles?
> >
> > > On Feb 23, 5:47 pm, larry google groups <lawrencecloj...@gmail.com>
> > > wrote:
> > > > > Try adding
> >
> > > > > :insecure? true
> >
> > > > > to the map. Charles dynamically generates a cert pretending to be
> the
> > > > > target host when acting as an ssl proxy, and clj-http probably has
> to
> > > be
> > > > > told to accept it.
> >
> > > > Okay, I've done so, but I don't think I understand what you are
> > > > telling me. Are you saying that clj-http won't send its POST if it
> > > > feels the cert is false?
> >
> > > > Charles has consistently said, in each report, "SSL Proxying not
> > > > enabled for this host: enable in Proxy Settings, SSL locations"
> >
> > > > And I've made the change you suggested, but I still see that message.
> >
> > > > On Feb 23, 5:24 pm, Jonah Benton <jo...@jonah.com> wrote:
> >
> > > > > Try adding
> >
> > > > > :insecure? true
> >
> > > > > to the map. Charles dynamically generates a cert pretending to be
> the
> > > > > target host when acting as an ssl proxy, and clj-http probably has
> to
> > > be
> > > > > told to accept it.
> >
> > > > > On Sat, Feb 23, 2013 at 4:18 PM, larry google groups <
> >
> > > > > lawrencecloj...@gmail.com> wrote:
> >
> > > > > > This might be a dumb "How does the Internet work" kind of
> question.
> >
> > > > > > I have been asked to pull data from Omniture, using the Omniture
> API.
> > > > > > I thought this would take me an hour, but I've been working on
> this
> > > > > > for 3 days now. I keep getting authentication errors.
> >
> > > > > > I became curious about exactly what code was sending to
> Omniture, so
> > > I
> > > > > > downloaded Charles, the network debugging tool:
> >
> > > > > >http://www.charlesproxy.com/
> >
> > > > > > I am using clj-http to make the POST. The post is suppose to be
> > > > > > https.
> >
> > > > > > This is the thing that surprises me: If I use http then I can
> see all
> > > > > > the headers in Charles, and they all look correct. But if I use
> https
> > > > > > (which is what I need to use) then there are no headers that I
> can
> > > see
> > > > > > in Charles.
> >
> > > > > > Is that because Charles does not want to show me a bunch of
> encrypted
> > > > > > garbage? Or is clj-http not adding in the headers with https?
> Maybe I
> > > > > > need a special setting to get clj-http to correctly send to
> https? (I
> > > > > > have not been able to find any such setting.)
> >
> > > > > > This is the code where I use clj-http (here I call http-client):
> >
> > > > > > (defn omniture-call-api [url-with-queue-method api-payload
> headers]
> > > > > >   (timbre/spy :debug " return value of omniture-call-api "
> > > > > >               (try+
> > > > > >                 (http-client/post url-with-queue-method
> > > > > >                                   {:body api-payload
> > > > > >                                    :headers {"X-Api-Version" "2"
> > > > > >                                              "X-WSSE" headers}
> > > > > >                                    :content-type :json
> > > > > >                                    :socket-timeout 4000
> > > > > >                                    :conn-timeout 4000
> > > > > >                                    :accept :json
> > > > > >                                    :client-params
> > > > > > {"http.protocol.allow-circular-redirects" false
> > > > > >
>  "http.useragent"
> > > > > > "clj-http"}})
> > > > > >                 (catch Object o (println (pp/pprint o))))))
> >
> > > > > > The url is:
> >
> > > > > >
> https://api2.omniture.com/admin/1.3/rest/?method=Report.QueueRanked
> >
> > > > > > At first I assumed this was a problem with Omniture's code. I
> have
> > > > > > asked several question on the Developer forum at Omniture, but
> no one
> > > > > > there could help me (Adobe has apparently cut most of the
> developer
> > > > > > support since Adobe bought Omniture in 2009). However, I am now
> > > > > > wondering if maybe I am doing this POST incorrectly.
> >
> > > > > > I am puzzled by something else as well: I call this function
> once,
> > > yet
> > > > > > Charles shows 4 calls being made to Omniture, and my own code,
> when
> > > it
> > > > > > prints data to the terminal, seems to show many requests being
> made.
> > > > > > Why would that be?
> >
> > > > > > Again, if I change the URL so it uses "http" then in Charles I
> can
> > > see
> > > > > > all the headers that suppose to be in this line of code:
> >
> > > > > > "X-WSSE" headers
> >
> > > > > > and the headers look correct (I posted them to the developer
> forums
> > > at
> > > > > > Omniture and the one guy from Omniture who gave it a look felt
> there
> > > > > > was nothing terribly amiss -- but he couldn't rule anything out.)
> >
> > > > > > But If I change the URL to use https, then I see no headers in
> > > > > > Charles. Why is that?
> >
> > > > > > ---- lawrence
> >
> > > > > > --
> > > > > > --
> > > > > > You received this message because you are subscribed to the
> Google
> > > > > > Groups "Clojure" group.
> > > > > > To post to this group, send email to clojure@googlegroups.com
> > > > > > Note that posts from new members are moderated - please be
> patient
> > > with
> > > > > > your first post.
> > > > > > To unsubscribe from this group, send email to
> > > > > > clojure+unsubscr...@googlegroups.com
> > > > > > For more options, visit this group at
> > > > > >http://groups.google.com/group/clojure?hl=en
> > > > > > ---
> > > > > > You received this message because you are subscribed to the
> Google
> > > Groups
> > > > > > "Clojure" group.
> > > > > > To unsubscribe from this group and stop receiving emails from it,
> > > send an
> > > > > > email to clojure+unsubscr...@googlegroups.com.
> > > > > > For more options, visithttps://groups.google.com/groups/opt_out.
> >
> > > --
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "Clojure" group.
> > > To post to this group, send email to clojure@googlegroups.com
> > > Note that posts from new members are moderated - please be patient with
> > > your first post.
> > > To unsubscribe from this group, send email to
> > > clojure+unsubscr...@googlegroups.com
> > > For more options, visit this group at
> > >http://groups.google.com/group/clojure?hl=en
> > > ---
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Clojure" group.
> > > To unsubscribe from this group and stop receiving emails from it, send
> an
> > > email to clojure+unsubscr...@googlegroups.com.
> > > For more options, visithttps://groups.google.com/groups/opt_out.
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to