# Cryptic error from icx-proxy

**URL:** <https://forum.dfinity.org/t/cryptic-error-from-icx-proxy/6944>\
**Category:** Developers\
**Tags:** candid\
**Created:** [September 3, 2021, 5:49am UTC](https://forum.dfinity.org/t/cryptic-error-from-icx-proxy/6944 "2021-09-03T05:49:03Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![chenyan](https://avatars.discourse-cdn.com/v4/letter/c/35a633/32.png) [@chenyan](https://forum.dfinity.org/u/chenyan)\
**Post date:** [September 4, 2021, 4:36am UTC](https://forum.dfinity.org/t/cryptic-error-from-icx-proxy/6944/14 "2021-09-04T04:36:30Z")

</div>

You can implement `http_request_streaming_callback` method with the correct type. When you want to send the reference, you can trick the compiler to send a different reference type.

```auto
let s = actor "your_canister_id" : actor { http_request_streaming_callback : shared () -> async () };
return { callback = s.http_request_streaming_call };

```

The receiver gets exactly `your_canister_id.http_request_streaming_call`, so it can make the call properly. The limitation is that you need to hard-code your canister id.

---

_[View the full topic](https://forum.dfinity.org/t/cryptic-error-from-icx-proxy/6944)._
