Android 第三方框架:网络:OkHttp:源码分析:拦截器

文章目录

    • 涉及到的设计模式
      • 责任链模式:ArrayList
      • 策略模式:Interceptor和XXXInterceptor
    • 源码分析
    • API
    • 总结

涉及到的设计模式

责任链模式:ArrayList

ArrayList

用ArrayList作为保存顺序的数据结构

把系统提供的各种Interceptor和自定义的Interceptor放入ArrayList中

RealInterceptorChain

RealInterceptorChain封装ArrayList,负责将Request依次交给ArrayList中的Interceptor,直到获取到Response

RealCall.getResponseWithInterceptorChain调用RealInterceptorChain.proceed开启Request在责任链中获取Response

策略模式:Interceptor和XXXInterceptor

Interceptor

接口,定义intercept(Chain)方法

XXXInterceptor

实体类&#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/34577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven高级-证书校验

文章目录 SSL忽略配置IDEA里配置SSL忽略补充场景 SSL忽略配置 mvn -X clean install -Dmaven.resolver.transportwagon -Dmaven.wagon.http.ssl.insecuretrue -Dmaven.wagon.http.ssl.allowalltrue -Dmaven.wagon.http.ssl.ignore.validity.datestrueIDEA里配置SSL忽略 两个地…

基于豆瓣电影TOP250的可视化设计

本文要完成的目的,实现豆瓣电影TOP250的可视化 思路 讲解思路,采用倒推的方式, 首先确定可视化图表,也就是最终的效果。这样就能确定需要那些基础数据根据需要的数据进行按需爬取存储。 本篇文章完成前两步。可视化图表设计 和 …

docker0 网络更改

目录 1. 停止docker服务 2. 关闭docker默认桥接网络接口 3. 从系统删除docker0接口 4. 创建一个名为bridge0的新接口 5. 添加ip地址和子网掩码 6. 启用bridge0接口 7. (如果没起来就执行该句) 8. 查看ip 1. 停止docker服务 sudo service docker…

【Linux】进程间通信_2

文章目录 七、进程间通信1. 进程间通信分类管道 未完待续 七、进程间通信 1. 进程间通信分类 管道 管道的四种情况: ①管道内部没有数据,并且具有写端的进程没有关闭写端,读端就要阻塞等待,知道管道pipe内部有数据。 ②管道内部…

linux的centos系统安装docker

文章目录 一. 安装Docker1. 安装yum-utils包2. 配置Docker yum源3. 安装 Docker CE4. 启动并设置 Docker 开机自启5. 验证Docker安装 二. 配置镜像加速器 一. 安装Docker 1. 安装yum-utils包 sudo yum install -y yum-utils2. 配置Docker yum源 官网源,在没有外网…

【C#_For循环_二重循环_数组和排序等_二分搜索_第二篇】

C#(编程入门) 续上一篇:练习来自腾讯课堂免费课程3.1.For循环基本概念输出1-10For循环流程图如下计算1-10之和计算1-10的乘积3.2.for语句3.3.二重循环3.4.Break VS Continue3.5.案例:ATM机3.5.1.ATM机业务流程3.6.案例:21点3.7.抽奖程序4.1.输入数组元素4.2.数组与内存的关…

Redis数据库(二):Redis数据库的五种基本数据类型

Redis 是一个开源的内存数据库,支持多种数据结构,常用于缓存、会话管理、实时分析等场景。Redis 提供了五种基本的数据类型:字符串、 列表、 集合、 散列/哈希、 有序集合。这篇博客,我们来详细介绍这五种数据类型,并且…

【Flink metric(2)】chunjun的metric系统是怎么设计的:如何注册metric、如何同步metric

文章目录 一. 管理(注册、同步)metric1. BaseRichInputFormat对metric的管理2. 通过BaseMetric管理metric 二. AccumulatorCollector:metric同步1. 启动线程池,周期性更新metric信息2. 获取全局指标、本地指标3. 资源回收 三. 小结…

【产品经理】订单处理8-智能分仓

在电商ERP系统中,通常智能分仓策略是系统中最重要的功能之一,大公司若仓库较多时,智能分仓策略中也会加入大数据团队,通过算法来计算最优仓库。 本次讲解的智能分仓适用于中小公司,适合拥有2个以上10个以下仓库的公司…

AGI 之 【Hugging Face】 的[ 简单介绍 ] [ 基础环境搭建 ] 的简单整理

AGI 之 【Hugging Face】 的[ 简单介绍 ] [ 基础环境搭建 ] 的简单整理 目录 AGI 之 【Hugging Face】 的[ 简单介绍 ] [ 基础环境搭建 ] 的简单整理 一、简单介绍 二、Hugging Face 三、环境搭建 python 环境的搭建 Pycharm 环境搭建 1、下载 Pycharm 安装包 2、安装 …

装机必备一WinRAR安装使用以及常见问题

WinRAR是一款功能强大的压缩包管理器,支持多种压缩格式,如RAR、ZIP等。作为一款经典且广泛使用的压缩软件,WinRAR不仅在文件压缩率和速度方面表现出色,还提供了备份数据、缩减电子邮件附件大小以及解压缩网络下载文件等功能。 为…

数据结构与算法:回溯算法约束条件:剪枝详解、示例(C#、C++)与回溯典型例题详解

文章目录 一、约束条件二、剪枝三、典型例题四、常用术语五、示例N 皇后问题 C# 示例N 皇后问题 C 示例 六、常见用用回溯算法解决的问题汇总组合问题:图论问题:棋盘游戏问题:优化问题:调度问题:其他问题: …

How to persist LangChain conversation memory (save and load)

题意:如何持久化 LangChain 对话记忆(保存和加载) 问题背景: Im creating a conversation like so: 我正在创建一个对话,如下所示: llm ChatOpenAI(temperature0, openai_api_keyOPENAI_API_KEY,…

【CTF】BUU BURP COURSE 11

打开靶机之后,显示只能在本地打开(一度以为靶机出问题)。 解题步骤: 1.分析请求包信息 2.构建本地请求IP X-Real-IP:记录真实客户端IP地址信息; X-Forward-for:记录了请求IP到目标ip所经历的…

新型基坑气膜:施工开挖的得力干将—轻空间

随着城市建设的加速推进,施工过程中的环境问题日益受到关注。新型基坑气膜以其卓越的防尘、降噪、节能和防火功能,成为施工开挖领域中的得力干将,极大地提升了绿色施工的水平。 基坑气膜的作用 基坑气膜在施工现场形成了一个完全封闭的作业空…

Java EE之Servlet

Servlet 是 Java EE(Java Platform, Enterprise Edition)规范中的一个技术,是服务器端 Java 程序,用于处理客户端请求并生成动态响应。Servlet 通常用于构建 Web 应用程序,并与 HTTP 协议紧密集成。以下是对 Servlet 的…

JavaWeb系列七: 动态WEB开发核心(Servlet) 下

韩老师学生 ServletConfigServletContext网站计数器 HttpServletRequest细节1细节2细节3 Dispathcer请求转发应用实例请求转发细节和注意事项习题 HttpServletResponse请求重定向请求重定向注意事项动态获取到application context练习题 ServletConfig ●ServletConfig基本介绍…

docker --restart 容器重启策略

官网连接:https://docs.docker.com/config/containers/start-containers-automatically/ 当容器退出后,或者docker程序重启了,容器是否要重启,可以用重启策略控制。 用docker run命令的时候,用--restart 设置容器重启…

1.文件上传漏洞渗透及防御(OWASP实战训练)

1.文件上传漏洞渗透及防御(OWASP实战训练) OWASPupload上传漏洞实验一:低安全模式下,上传任意类型的文件,文件大小不受限制实验二,安全级别调整将其变为中等安全级别实验三:将其设为高安全级别 …

【教程】如何一步一步训练一个SOM神经网络-自组织竞争神经网络(Self-organizing Feature Map)

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、什么是SOM神经网络1.1.SOM神经网络有什么用1.2.SOM神经网络是如何聚类的 二、如何训练一个SOM神经网络2.1. 训练一个SOM神经网络的代码示例2.2. 如何查看SOM神经网络的聚类中心 SOM神经网络全称为自组织竞争…