Giter Site home page Giter Site logo

kevin-lyn / stnettaskqueue Goto Github PK

View Code? Open in Web Editor NEW
86.0 4.0 12.0 636 KB

STNetTaskQueue is a networking queue library for iOS and OS X. It's abstract and can be implemented in different protocols.

License: MIT License

Objective-C 98.84% Ruby 1.16%
network networking network-layer ios macos

stnettaskqueue's People

Contributors

kevin-lyn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

stnettaskqueue's Issues

取消任务并没有真正的取消

这段代码只是把任务队列中移除,并不能停止任务对应的网络操作。
想请问下,有打算支持在取消任务的同时支持中断任务对应的网络操作么

- (void)_cancelTask:(STNetTask *)task
{
    [self.tasks removeObject:task];
    [self.watingTasks removeObject:task];
    task.pending = NO;
}

添加removeTaskDelegate: uri:方法

新闻类的应用(如下图),在每个管理新闻列表的控制器中都会调用获取新闻列表的接口.在来回切换不同的新闻类别时,会将多个delegate添加到同一个uri下。这样在每个新闻列表控制器中调用获取新闻列表的接口时,多个新闻列表控制器实列的代理方法都会被调用.
所以需要添加一个移除代理的方法(removeTaskDelegate: uri:),在获取新闻列表成功后,将代理移除.

252d9c5d-fbef-4117-8f37-430a65973f61

Undefined content type for a FormData request type

Hi!

First of all I'd like to say thank you for this great lib. I've used it in my recent projects and we love how it works.

Actually, we faced with one issue regarding FormData request type and Content-Type header.
I've changes STHTTPNetTaskContentTypeMap initialization to be like this:

STHTTPNetTaskContentTypeMap = @{ @(STHTTPNetTaskRequestJSON): @"application/json; charset=utf-8", @(STHTTPNetTaskRequestKeyValueString): @"application/x-www-form-urlencoded", @(STHTTPNetTaskRequestFormData) : @"application/x-www-form-urlencoded"};

After that our problem was go away. Maybe you know another workaround regarding this?
Because, we need to set HTTP-header for Content-Type for all our requests.

Thanks is advance!

支持安时缓存

代码干净,逻辑清晰。

请问能否支持按时缓存的功能?

Bug,导致App频繁崩溃

异常类型:NSInvalidArgumentException(SIGABRT)
异常信息:-[__NSCFLocalDataTask setOperation:]: unrecognized selector sent to instance 0x155b3360
关键方法:V2gogo -[STHTTPNetTaskQueueHandlerOperation start] (STHTTPNetTaskQueueHandler.m:172)
NSInvalidArgumentException(SIGABRT)
-[__NSCFLocalDataTask setOperation:]: unrecognized selector sent to instance 0x166c6d40
0   CoreFoundation  0x2d931fd3  ___exceptionPreprocess + 131
1   libobjc.A.dylib 0x381aaccf  objc_exception_throw + 31
2   CoreFoundation  0x2d935967  -[NSObject(NSObject) doesNotRecognizeSelector:] + 203
3   CoreFoundation  0x2d934253  ____forwarding___ + 707
4   CoreFoundation  0x2d8837b8  _CF_forwarding_prep_0 + 24
5   V2gogo  0x000e8a3b  -[STHTTPNetTaskQueueHandlerOperation start] (STHTTPNetTaskQueueHandler.m:172)
6   V2gogo  0x000ea129  -[STHTTPNetTaskQueueHandler netTaskQueue:handleTask:] (STHTTPNetTaskQueueHandler.m:395)
7   V2gogo  0x000a216b  -[STNetTaskQueue _addTask:] (STNetTaskQueue.m:103)
8   Foundation  0x2e31ac73  ___NSThreadPerformPerform + 387
9   CoreFoundation  0x2d8fd25b  ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
10  CoreFoundation  0x2d8fc72b  ___CFRunLoopDoSources0 + 207
11  CoreFoundation  0x2d8faf1f  ___CFRunLoopRun + 623
12  CoreFoundation  0x2d865f0f  CFRunLoopRunSpecific + 515
13  CoreFoundation  0x2d865cf3  CFRunLoopRunInMode + 103
14  Foundation  0x2e2581eb  -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 255
15  Foundation  0x2e2a90a1  -[NSRunLoop(NSRunLoop) run] + 81
16  V2gogo  0x000a1f21  -[STNetTaskQueue threadEntryPoint] (STNetTaskQueue.m:71)
17  Foundation  0x2e31aa5f  ___NSThread__main__ + 1063
18  libsystem_pthread.dylib 0x387d6919  __pthread_body + 141
19  libsystem_pthread.dylib 0x387d688b  _pthread_start + 99
20  libsystem_pthread.dylib 0x387d4aa4  thread_start + 4

注释

将注释从/* */改为/** */
就可以在接口名称上按住鼠标左键+option键查看注释。

增加个头文件

增加个头文件,好一次性将所有类导入,类似UIKit/UIKit.h这种.

增加allTasks属性

STNetTaskChain中增加只读的allTasks属性,用于任务结束后,从allTasks中获取任务对象,避免用户自己保留任务对象.

@property (nonatomic, strong,readonly) NSArray *allTasks;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.