0

I am trying to setup own instance of interceptor for MapboxSDK v10 using Xamarin.iOS.

public class MyMBXHttpServiceInterceptor : IMBXHttpServiceInterceptorInterface
    {
        public IntPtr Handle { get; set; } = IntPtr.Zero;
        public string Token { get; set; }

        public void Dispose()
        {
        }

        public MBXDownloadOptions OnDownloadForDownload(MBXDownloadOptions download)
        {
            return download;
        }

        public MBXHttpRequest OnRequestForRequest(MBXHttpRequest request)
        {
            request.Headers["TOKEN"] = new NSString("myToken");
            return request;
        }

        public MBXHttpResponse OnResponseForResponse(MBXHttpResponse response)
        {
            return response;
        }
    }

Then once my map style is loaded I am using:

var service = new MyMBXHttpServiceInterceptor();
MBXHttpServiceFactory.Instance.SetInterceptorForInterceptor(service);

I did almost similar implementation on Android and it's working fine, but on iOS it's giving me 401 responses on vector tiles which means that interceptor don't work / my headers are not updated. Any idea what I am doing wrong?

boski
  • 1,106
  • 3
  • 21
  • 44

1 Answers1

0

Solution was to use NSObject and then interface.

boski
  • 1,106
  • 3
  • 21
  • 44